微信文章爬虫

时间:2022-07-22
本文章向大家介绍微信文章爬虫,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

微信文章爬虫

所谓爬虫者,给人感觉都是些拿来主义的东西,说出去还是有点汗颜。但如果爬的是自己写的东西呢?嗯,也许就理直气壮了。

一直以来,微信一直都禁用历史文章列表。并且在每一代的升级中,都加强防范。对喜好收集数据的人来说,简直是噩梦。我曾找某人帮我人工收集某公众号17-20年间的450多篇文章。整个过程持续近两个月。中途还经常连哄带骗地让人帮我做事情,我简直变得不像我自己。

直到我读到一篇文章:《持续更新,微信公众号文章批量采集系统的构建》(https://zhuanlan.zhihu.com/p/24302048),倒不是因为技术有多高超,而是为作者的愚公精神所折服。

wechat_spider 是笔者在github上找到一款基于 Node.js 的微信爬虫,通过"中间人代理"的原理,批量获取微信文章,包括阅读量、点赞量、评论和文章正文等。

所谓中间人代理,无非是通过抓包工具监听手机发送请求,不断地循环往数据库请求数据。

•使用代理模块 AnyProxy。代码已支持 AnyProxy 4 版本。•支持 Docker 部署。•项目可运行在个人电脑上,也可部署在服务器上。

AnyProxy是阿里开发的一个开放式的HTTP代理服务器。更重要的,它使用node开发。 官方文档 : http://anyproxy.io/cn/ Github主页:https://github.com/alibaba/anyproxy

准备

•安装 Node,版本大于 8.8.1•安装 MongoDB,版本大于 3.4.6•安装 Redis•带微信的手机

部署

本项目可通过docker部署。

git clone https://github.com/lqqyt2423/wechat_spider.git
cd wechat_spider
# build image
docker-compose build
# 运行实例
npm start

设置代理

手机和电脑连到同一个wifi下。设置手机代理为:电脑ip:8101

安装证书

部署之后访问http://localhost:8102/

点击rootCA。

作者很贴心地给我们服务器装好了证书,但手机,还是得自己安装。

安装之后

这时候就可以开始搞了,手机访问公众号的文章列表。

——手机屏幕不停闪动。这时抓包已经开始了。

观察控制台变化:

已经在爬取数据。

系统集成了一个可视化界面,这时在访问:http://localhost:8104 :

文章已经存到数据库了。据测试,154篇拉取时间为1个小时。(公众号没人读,逃?‍♂️)