易语言微信公众号文章采集思路
因为某些原因,洪雨需要采集微信公众号文章。
不废话,直接说重点。
最开始的思路很简单,就是用搜狗微信搜索功能来采集,但是没有执行的时候就看到一些言论。
说搜狗微信,如果采集的文章不全,而且采集的多了,会封IP。
于是,果断放弃,连研究都没研究,因为洪雨知道,这种搜索引擎的采集是比较简单的。如果大家都采集,那么确实会造成服务器的压力。
洪雨开始想第二套方案,直接采集公众号。
公众号的文章链接是可以网页打开的,但是公众号的历史文章已经无法在pc端打开了。这就出现了一个问题,无法采集公众号的文章链接。
想要打开历史文章,洪雨想到两个办法,一个是用模拟器,模拟手机环境,打开链接。另一个是用网页微信,打开公众号历史链接。
当然,直接用网页微信肯定比模拟器来的简单。
洪雨发现网页微信无法打开了,只能安装客户端,才能在pc端打开微信,万幸的是还是可以看到公众号历史文章的。
这时候问题又来了,如何才能获得模拟器中或者客户端中的历史文章内容,然后进行链接采集。
洪雨首先想到的是网截抓包,现在比较火爆的是fiddler。
但是你无法直接批量获取并筛选这些数据,所以想办法怎样用易语言直接抓包,什么抓包,网截,进程都看遍了……
结果找了半天也没有找到简单有效的办法。到是有模拟器抓包的教程,但是仍然是用fiddler抓包……
最后洪雨想从微信客户端的句柄入手。
用编程助手获取窗口句柄,洪雨惊喜的发现,原来公众号的内容是以微信客户端内置浏览器的形式展现的,包括历史文章也是如此。
虽然是谷歌内核的浏览器,不能用填表来操作,但是已经很不错了。
我们可以用鼠标模拟的方法才做微信客户端,然后获取内置浏览器的网页源码,有了源码一切就好办了。
剩下的就是筛选有用的信息了。
只要采集到每篇文章的链接,一切就ok了,因为单篇文章的链接是可以在pc浏览器打开的。也就是说可以直接读取到源码,采集到文章内容。
到此,打完手工。
整理一下流程,我们首先要关注被采集的公众号,然后在登陆微信的pc客户端,在客户端中打开历史文章页面,获取源码,然后用软件采集到文章的链接。然后直接读取文章源码,采集文章内容。
作为个人,这是比较傻瓜的采集方式,不需要高难度的技术,也不需要牵扯到微信公众号的相关开发接口等,唯一的缺点就是效率相对慢一些。
不过作为个人采集,应该足够用了。
原文转自:http://www.zhizhuowz.com/post-511.html