基于Node 的微信爬蟲士鸥,通過中間人代理的原理,批量獲取微信文章數(shù)據(jù)谆级,包括閱讀量烤礁、點贊量和評論等數(shù)據(jù)。
開始
安裝前準(zhǔn)備
- 查看安裝 node肥照,版本大于 8.8.1
- 安裝 MongoDB脚仔,版本大于 3.4.6
- 安裝Redis
- 安裝Node 全局模塊nodemon 和pm2 查看
安裝
git clone https://github.com/lqqyt2423/wechat_spider.git
cd wechat_spider
npm install
本項目基于代理模塊AnyProxy,解析微信HTTPS 請求需在電腦和手機(jī)上都安裝證書舆绎。AnyProxy 證書安裝鲤脏。
使用
Administrator@PC-201805221036 MINGW64 /e/ufutx_project/wechat_spider (master)
$ npm start
> wechat_spider@1.1.0 start E:\ufutx_project\wechat_spider
> nodemon index.js --ignore client/
[nodemon] 1.17.5
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node index.js`
請配置代理: xx.xx.xx.xx:8101
可視化界面: http://localhost:8104
- 確保電腦和手機(jī)連接同一WIFI ,npm start 之后,命令行輸出請配置代理: xx.xx.xx.xx:8101 類似語句猎醇,手機(jī)設(shè)置代理為此IP 和端口(即為AnyProxy 證書安裝的最后一步:設(shè)置代理)
- 瀏覽器打開可視化界面: http://localhost:8104
- 打開任意公眾號 =》查看"歷史文章" =》便自動幫你爬取數(shù)據(jù) =》觀察電腦命令行的輸出窥突,查看數(shù)據(jù)是否保存至MongoDB
自定義配置
目前可支持的配置項舉例如下:
* 控制是否開啟文章或歷史詳情頁自動跳轉(zhuǎn)
* 控制跳轉(zhuǎn)時間間隔
* 根據(jù)文章發(fā)布時間控制抓取范圍
* 是否保存文章正文內(nèi)容
* 是否保存文章評論
* 可編輯index.js ,config.js 和targetBiz.json 進(jìn)行自定義配置姑食。文件中注釋有詳細(xì)說明波岛。
前端頁面由React
編寫茅坛,如需修改音半,可編輯client
文件中的代碼。
MongoDB 數(shù)據(jù)信息
數(shù)據(jù)庫database: wechat_spider
數(shù)據(jù)表collections:
- posts - 文章數(shù)據(jù)
- profiles - 公眾號數(shù)據(jù)
- comments - 評論數(shù)據(jù)
- categories - 自定義的公眾號分類
從MongoDB 導(dǎo)出數(shù)據(jù)
mongoexport --db wechat_spider --collection posts --type=csv --fields title,link,publishAt,readNum,likeNum,msgBiz,msgMid,msgIdx,sourceUrl,cover,digest,isFail --out ~/Desktop/posts.csv
以上命令會導(dǎo)出數(shù)據(jù)至桌面的posts.csv
中贡蓖。