微信公众号文章爬取方法整理
1.用python爬取
实现方法:通过微信提供的公众号文章调用接口,实现爬取公众号文章的功能
步骤:
1.需要安装python selenium模块包,通过selenium中的webdriver驱动浏览器获取Cookie的方法、来达到登录的效果;
2.使用webdriver功能需要安装对应浏览器的驱动插件,我这里测试用的是谷歌浏览器:
google chrome版本为52.0.2743.6 ;
chromedriver版本为:V2.23
注意:谷歌浏览器版本和chromedriver需要对应,否则会导致启动时报错。【附:selenium之 chromedriver与chrome版本映射表(更新至v2.30))】
3.微信公众号登陆地址:https://mp.weixin.qq.com/
4.微信公众号文章接口地址可以在微信公众号后台中新建图文消息,超链接功能中获取:
5.搜索公众号名称
6.获取要爬取的公众号的fakeid
7.选定要爬取的公众号,获取文章接口地址
8.文章列表翻页及内容获取
2.AnyProxy代理批量采集
https://zhuanlan.zhihu.com/p/24302048
实现方法:anyproxy+js
实现方法:anyproxy+java+webmagic
3.FiddlerCore
实现方法:抓包工具,Fiddler4
通过对多个账号进行抓包分析,可以确定:
_biz:这个14位的字符串是每个公众号的“id”,搜狗的微信平台可以获得
uin:与访问者有关,微信号id
key:和所访问的公众号有关
步骤:
1,写按键精灵脚本,在手机上自动点击公号文章列表页,也就是“查看历史消息”;
2,使用fiddler代理劫持手机端的访问,将网址转发到本地用php写的网页;
3,在php网页上将接收到的网址备份到数据库;
4,用python从数据库取出网址,然后进行正常的爬取。
爬的过程中发现一个问题:
如果只是想爬取文章内容,似乎并没有访问频率限制,但如果想抓取阅读数、点赞数,超过一定频率后,返回就会变为空值,我设定的时间间隔为10秒,可以正常抓取,这种频率下,一个小时只能抓取360条,已经没什么实际意义了。
4.清博 新榜
如果只是想看数据的话,直接看每天的榜单就可以了,还不用花钱,如果需要接入自己的系统的话,他们也提供api接口