• 大小: 4.51MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-14
  • 语言: 其他
  • 标签: 爬虫  python  3  

资源简介

可以爬取所有微信公众号的历史消息,做数据分析,并且可以获得每篇文章的阅读量、点赞量、标题等信息,有详细的文档,请按文档认真走,走一遍绝逼能爬。5分我真嫌亏。遇到问题好好查。

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
import requests
import time
import json
from pymongo import MongoClient

# 西安
sheetName = “wx_XA_message_sheet“

# 目标url
url = “https://mp.weixin.qq.com/cgi-bin/appmsg“

Cookie = “noticeLoginFlag=1; remember_acct=wsszzy%40yeah.net; pgv_pvid=8311768707; ua_id=BHpl1QmvP7lRR1MIAAAAAKzs01oTLDot3fQbUMP1efw=; mm_lang=zh_CN; pgv_pvi=7448124416; noticeLoginFlag=1; eas_sid=21l5V3V345z3I8y9L369L963o6; ts_uid=8337384520; pgv_si=s4742147072; cert=FpVuw7npgHJimA4QyTVZNOC_UalN2Hil; rewardsn=; wxtokenkey=777; _qpsvr_localtk=1536373218558; uuid=a561720885b805877da627b2277b7bb9; ticket=99ae04c0f35eae8918a75b8ee89782f83c5bbfe0; ticket_id=gh_d9da5329ae6a; remember_acct=wsszzy%40yeah.net; data_bizuin=3294651404; bizuin=3598014640; data_ticket=KfgyMyd16wFlCOeYPdF14iuA5U8RXEal7HlWA3Tlw7XchmtNuLju3BZ+o4/7pATf; slave_sid=b3dVcHF3MWU2MUY4Njc5Yk1nUUFSN1dvQXdfcWRFU2x0MVpSUGJQZEVrQ3JNVzAyXzNFWTZ4d2Jab0F3SUJKbGR1S1V5RWRzVDdTMmEwSWJDaHYxU1J2ZEE4aFVPaVN4Wms5QUkyT05kaEUwVGliU21PVHNKWVZaQThGUkRKU1QzVWdWS1d1cUlobUJMTk1J; slave_user=gh_d9da5329ae6a; xid=de5141dd2e81bd4e722b3add32235772; openid2ticket_oDGRgxKB0b9mkQJ2qdefVdSA8hyc=ZP0ZmKk7/7bML4tFLDTZBCACapVb1kIZbaP2r1e1Nbc=“
# 使用Cookie,跳过登陆操作
headers = {
  “Cookie“: Cookie
  “User-Agent“: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/68.0.3440.33 Safari/537.36“
}

“““
需要提交的data
以下个别字段是否一定需要还未验证。
注意修改yourtokennumber
number表示从第number页开始爬取,为5的倍数,从0开始。如0、5、10……
token可以使用Chrome自带的工具进行获取
fakeid是公众号独一无二的一个id,等同于后面的__biz
“““
token = “1344893630“
fakeid = “MjM5MTQxOTYwMg==“
# type在网页中会是10,但是无法取到对应的消息link地址,改为9就可以了
type = ‘9‘
data1 = {
    “token“: token
    “lang“: “zh_CN“
    “f“: “json“
    “ajax“: “1“
    “action“: “list_ex“
    “begin“: “365“
    “count“: “5“
    “query“: ““
    “fakeid“: fakeid
    “type“: type
}


# 毫秒数转日期
def getDate(times):
    # print(times)
    timearr = time.localtime(times)
    date = time.strftime(“%Y-%m-%d %H:%M:%S“ timearr)
    return date


# 获取阅读数和点赞数
def getMoreInfo(link):
    # 获得mid_bizidxsn 这几个在link中的信息
    mid = link.split(“&“)[1].split(“=“)[1]
    idx = link.split(“&“)[2].split(“=“)[1]
    sn = link.split(“&“)[3].split(“=“)[1]
    _biz = link.split(“&“)[0].split(“_biz=“)[1]

    # fillder 中取得一些不变得信息
    req_id = “0813h9hskj2qbZ6MeXUgt0KR“
    pass_ticket = “aJgxyw6T0spYi9pPcowTPdmWiTTQr0HZxFQVQ1FxFl0ejNCRMIQqHvf%252B6aLFxO7g“
    appmsg_token = “973_BCfLrhPy2So2KVdaEoV4e24HzWVF971IHfUbtVljlZTkvBiSSWI1KRJHwiYItybQJKptZyvzH38c_Isw“

    # 目标url
    url = “http://mp.weixin.qq.com/mp/getappmsgext“
    # 添加Cookie避免登陆操作,这里的“User-Agent“最好为手机浏览器的标识
    phoneCookie = “devicetype=iOS11.3; lang=zh_CN; pass_ticket=aJgxyw6T0spYi9pPcowTPdmWiTTQr0HZxFQVQ1FxFl0ejNCRMIQqHvf+6aLFxO7g; rewardsn=; version=16070228; wap_sid2=CPiPz88BEnB6QmlSYkZheV9acDZ5eDd5Q2ZKR2pfTlBsMjNmS3Nua25mdkI1NjVxdWF3S3NFMUtYbElxajRSdWFfTnctblQxX2FCMkoteUI3V2pyZWg0ZmhfeW1TYlpUcmZpSWxTam1waElOb1o5M

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     3343984  2018-09-05 14:16  微信爬虫项目准备工作.docx
     文件        6842  2018-09-08 13:42  wxNewWay_XA.py
     文件     1509873  2018-09-13 11:16  微信爬虫.docx

评论

共有 条评论