微信公众号爬虫技术分享
采集方案分析对比 目前主流的抓取公众号文章及动态信息不同采集方案对比如下: 由上图可知: 如果需要长期监控公众号实时的文章,我推荐使用逆向的方式; 如果要做获取文章阅读点赞评论量或搜狗微信转永久链接等接口,推荐使用万能key的方式; 至于中间人的方式,技术门槛低,开发周期短,如果要监控的公众号不多,且实效性要求不那么高,我推荐使用这种方式。 下面将详细介绍基于中间人方式采集的原理 采集方案详解 基于中间人方式 采集原理 中间人好比中介,这里指抓包工具,大致的原理图如下 微信客户端之所以可以看到文章信息,是因为请求了微信的服务器,服务器收到请求后,将对应的文章返给客户端。这里我们通过抓包工具(中间人)拦截数据,将拦截到的文章数据解析入库,就完成了一次简单的数据抓取。 那么如何实现多个文章自动抓取,及列表页自动翻页呢。总不能人肉去点吧。那么最先想到的是自动化工具,比如大家都知道的按键精灵。但是这种自动化工具如何与抓包工具交互,是个问题。我们要保证在数据被拦截入库之后,再去点击下一个抓取的目标,又或者当网络异常时,自动化工具如何检测出来,然后重刷当前页面,发起请求。即使可以实现,应该也很麻烦,所以没采用这种方法。本人也不喜欢自动化工具,总感觉它不稳定。。。 既然微信文章界面是html的,我们可以嵌入js嘛,让他自动跳转。那么如何在文章和源代码里嵌入自己的js呢?这时中间人就派上用场了