windows微信公衆号采集系統
發表時(shí)間:2020-11-5
發布人(rén):融晨科技
浏覽次數:91
微信采集系統項目文檔
- 環境配置
- 1. mitmproxy安裝:
- 2. windows本地(dì / de)代理:
- 3. 數據庫
- 4. 本地(dì / de)模塊
- 準備工作
- 啓動測試
- 目錄結構
采集目标: 微信公衆号文章的(de)閱讀數、在(zài)看數、評論數、評論列表,還有微信公衆号的(de)賬号基本信息。
采集難點: 采集以(yǐ)上(shàng)數據需要(yào / yāo)客戶端的(de)一些參數,比如 x-wechat-key 、 __biz 、appmsg_token 、pass_ticket等。
采集方式: 通過Windows客戶端+mitmproxy的(de)方式獲取加密參數
采集流程:
備注: 一個(gè)微信号每天隻能獲取5000-8000篇文章的(de)閱讀/點贊/評論等數據
github: https://github.com/lixi5338619/weixin-spider
環境配置
1. mitmproxy安裝:
在(zài)python3下直接使用pip進行安裝,如果下載緩慢需要(yào / yāo)換源下載。
pip install mitmproxy==4.0.4 --use-feature=2020-resolver
安裝完成之(zhī)後,在(zài)cmd命令行中輸入 mitmdump ,默認是(shì)8080端口。
mitmdump
啓動成功後,下載mitm證書:訪問 http://mitm.it/
點擊windows,下載安裝。
如果網頁顯示 If you can see this, traffic is not passing through mitmproxy。
按照第二步設置windows本地(dì / de)代理後再次安裝。
2. windows本地(dì / de)代理:
windows10本地(dì / de): 設置 ==> 網絡 ==> 代理 ==> 手動設置代理 中打開使用代理并将IP地(dì / de)址修改爲(wéi / wèi)127.0.0.1 端口修改爲(wéi / wèi)默認8080或修改後的(de)端口。 (記得點擊保存)
3. 數據庫
mysql: 下載完成之(zhī)後啓動服務,修改項目settings配置文件,創建數據庫weixin_spider,字符集utf8mb4。
create database weixin_spider DEFAULT CHARACTER SET utf8mb4;
redis: 下載安裝後啓動服務,修改項目settings配置文件,以(yǐ)及addons.py文件。
4. 本地(dì / de)模塊
參照 requirements文件安裝 python庫,如有遺漏,根據提示自行安裝
準備工作
首先确定使用環境安裝完畢,然後請确保端口(5000、8080)不(bù)沖突。
1、确定mysql 、redis服務開啓狀态,并可正常連接
2、運行 webapp\models.py 文件創建數據庫表,查看表結構是(shì)否生成正确
3、登錄微信PC版,找到(dào) 文件傳輸助手 對話框, 雙擊 文件傳輸助手 ,文件傳輸助手會自動彈出(chū)單獨的(de)對話窗口,把對話框鎖死在(zài)屏幕左上(shàng)角,具體位置可能需要(yào / yāo)根據顯示器調整。
4、依次運行py腳本(亦可運行.sh文件代替)
- 運行 wx_monitor.py ,确定程序是(shì)否成功啓動
- 運行 manage.py ,打開網頁 http://127.0.0.1:5000/ ,确認成功開啓web服務。
5、開啓mitmproxy,确保可以(yǐ)攔截到(dào)數據(需要(yào / yāo)cd到(dào)tools目錄下)
cd tools/ && mitmdump -s ./addons.py --ssl-insecure
啓動測試
準備工作完成之(zhī)後,訪問 http://127.0.0.1:5000/ 。
添加公衆号,該公衆号需要(yào / yāo)微信已經關注過。
點擊啓動,即可進行采集。
目錄結構
weixin-spider
│ manage.py (web服務啓動文件)
│ README.md (項目說(shuō)明文檔)
│ requirements.txt (項目安裝包)
│ wx_monitor.py (任務調度中心)
│
├─api
│ │ crawlerapi.py (爬蟲文件)
│ │ init.py
│ │
├─exceptions (異常捕獲目錄)
│
├─tools
│ │ addons.py (mitm配置)
│ │ handle.py (自動化操作)
│ │ keys.py (redis-keys管理)
│ │ proxy.py (本地(dì / de)代理)
│
├─webapp
│ │ models.py (數據庫表模型)
│ │ _init_.py
│ ├─static (靜态資源目錄)
│ ├─templates(html文件目錄)
│ │
│ ├─wxapp
│ │ │ selffilter.py (過濾器)
│ │ │ views.py (視圖文件、接口)