基于Node 的微信爬虫,通过中间人代理的原理,批量获取微信文章数据,包括阅读量、点赞量和评论等数据。使用代理模块 Anyproxy。
- Node 版本大于v8.8.1
- MongoDB 版本大于v3.4.6
git clone https://github.com/lqqyt2423/wechat_spider.git
cd wechat_spider
npm install
本项目基于代理模块Anyproxy,解析微信HTTPS 请求需在电脑和手机上都安装证书。可参考:Anyproxy 文档。
cd wechat_spider
npm start
- 确保电脑和手机连接同一WIFI ,
npm start
之后,命令行输出Http proxy started at xx.xx.xx.xx:8101
类似语句,手机设置代理为此IP 和端口 - 手机上测试打开任一公众号历史文章详情页和文章页,观察电脑命令行的输出,查看数据是否保存至MongoDB
- 自动翻页抓取数据需配置
config.js
cd client && npm install && npm start
第一次进入client
运行npm install
之后,以后可直接在项目根目录运行npm run client
,根据命令行的输出地址,在浏览器中打开此网址即可。
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
以上命令会导出数据至桌面的posts.csv
中。具体的个性化导出请参考MongoDB 文档或者自己编写。