久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

基于Python采集爬取微信公眾號歷史數據

瀏覽:57日期:2022-07-04 10:10:04

鯤之鵬的技術人員將在本文介紹一種通過模擬操作微信App的方式采集指定公眾號的所有歷史數據的方法。

通過我們抓包分析發現,微信公眾號的歷史數據是通過HTTP協議加載的,對應的API接口如下圖所示,其中有四個關鍵參數(__biz、appmsg_token、pass_ticket以及Cookie)。

基于Python采集爬取微信公眾號歷史數據

為了能夠拿到這四個參數,我們需要模擬操作App,讓其產生這些參數,然后我們再抓包獲取。對于模擬App操作,前面我們曾介紹過通過Python模擬安卓App的方法(詳見http://www.site-digger.com/html/articles/20180912/664.html)。對于HTTP集成抓包,前面我們曾介紹過Mitmproxy(詳見http://www.site-digger.com/html/articles/20181109/682.html)。

我們需要模擬操作微信完成如下步驟:

1. 啟動微信App

2. 點擊'通訊錄'

3. 點擊'公眾號'

4. 點擊要采集的公眾號

5. 點擊右上角的用戶圖像圖標

6. 點擊'全部消息'

基于Python采集爬取微信公眾號歷史數據

基于Python采集爬取微信公眾號歷史數據

此時,我們可以從https://mp.weixin.qq.com/mp/profile_ext?action=home的應答數據中捕獲__biz、appmsg_token以及pass_ticket三個關鍵參數,以及請求頭中的Cookie值。如下圖所示。

基于Python采集爬取微信公眾號歷史數據

基于Python采集爬取微信公眾號歷史數據

基于Python采集爬取微信公眾號歷史數據

有了上述四個參數,我們就可以構造出獲取歷史文章列表的API請求,通過調用API接口直接獲取數據(不需要再模擬App操作)。核心參數如下所示,通過改變offset參數,可以拿到所有歷史數據。

# Cookie headers = {’Cookie’: ’rewardsn=; wxtokenkey=777; wxuin=584068438; devicetype=android-19; version=26060736; lang=zh_CN; pass_ticket=Rr8cO5c2******3tKGqe7aVZzV9TupvrK+1uHHmHYQGL2WFdKIE; wap_sid2=COKhxu4KElxckFZQ3QzTHU4WThEUk0zcWdrZjhGcUdYdEVSV3Y1X2NPWHNUakRrd1ZzMnpLTERpdE5rbmxjSTg******dlRBcUNRazZpOGxTZUVEQUTgNQJVO’} url = ’https://mp.weixin.qq.com/mp/profile_ext?’ data = {} data[’is_ok’] = ’1’ data[’count’] = ’10’ data[’wxtoken’] = ’’ data[’f’] = ’json’ data[’scene’] = ’124’ data[’uin’] = ’777’ data[’key’] = ’777’ data[’offset’] = ’0’ data[’action’] = ’getmsg’ data[’x5’] = ’0’ # 下面三個參數需要替換 # https://mp.weixin.qq.com/mp/profile_ext?action=home應答數據里會暴漏這三個參數 data[’__biz’] = ’MjM5MzQyOTM1OQ==’ data[’appmsg_token’] = ’993_V8%2BEmfVD7g%2FvMZ****4DNUJNFkg~~’ data[’pass_ticket’] = ’Rr8cO5c23ZngeQHRGy8E7gv*****pvrK+1uHHmHYQGL2WFdKIE’ url = url + urllib.urlencode(data)

以'數字工廠'這個微信公眾號為例,采集過程運行截圖如下所示:

基于Python采集爬取微信公眾號歷史數據

輸出結果截圖如下所示:

基于Python采集爬取微信公眾號歷史數據

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: 微信 Python
相關文章:
主站蜘蛛池模板: 北碚区| 神池县| 时尚| 蓬安县| 新巴尔虎右旗| 竹溪县| 凯里市| 大竹县| 汉川市| 郎溪县| 嘉定区| 赫章县| 扬州市| 龙川县| 公安县| 临沧市| 溧阳市| 祁连县| 铜鼓县| 巴青县| 宁远县| 留坝县| 辽中县| 西丰县| 诏安县| 江西省| 龙口市| 连云港市| 磐石市| 庆安县| 莱芜市| 文昌市| 文登市| 博爱县| 泗阳县| 华坪县| 哈尔滨市| 谢通门县| 新郑市| 和田县| 驻马店市|