最近需要抓取某个关键词或者某个公众号的文章,参考了网上的思路之后
https://github.com/Alexis374/tech_post/blob/master/crawl%20wechat%20article.md
http://www.zhihu.com/question/21064480
基本上能够达到抓取的目标,但是还存在几个问题:
1.访问过于频繁,弹出输入验证码对话框--采用sleep()暂时解决,但是不彻底
2.通过搜狗抓取文章最多只能抓取100页
3.无法自动获取某个公众号的最新文章列表
------------------------------------------------------------------------------------------------
总结一下最近微信抓取的工作
目标是采集微信公众号以及公众号的文章
分解为两个子任务:
1.采集微信公众号
2.给定微信公众号,如何采集历史文章以及最新文章
分析思路:
对1的思路是抓取网上的公众号大全,公众号列表,以及通过关键词搜索公众号,思路比较简单,缺点是搜索没有目的性
目前的解决方法是基于selenium通过搜狗关键词进行抓取。
对2的思路目前做的比较好的,传送门,新榜,没有分析出他们是如何采集的历史文章以及最新文章
目前的解决办法是由于搜狗每个公众号只显示最新的10篇文章,因而对公众号历史文章的抓取,采用微信PC客户端+httpclient的方式进行采集
缺点:微信PC客户端的公众号的文章列表中有很多参数
key,pass_ticket,其中key是每半个小时变化一次,pass_ticket好像是一天变化一次(不确定)
因此只能在半个小时内抓取完公众号的历史文章
这个方法显然很难做到自动化
对公众号最新文章的抓取是通过搜狗微信搜索的方式解析文章列表页。