美文网首页
微信公众号采集的一点思路.

微信公众号采集的一点思路.

作者: 一斤蔬菜 | 来源:发表于2018-01-16 00:09 被阅读0次

由于微信的端到端token机制,模仿客户端请求非常的困难.进行微信文章的爬虫和实时监控,只能通过微信客户端来操作.

基本思路

  • 1.通过代理服务器作为broker,介入微信客户端与服务器通信.
  • 2.通过向Response中注入js代码,实现自动跳转以及采集信息.
  • 3.通过代理服务器剔除Response中所有非必要内容,如图片,公众号文字内容,尽量压缩页面大小.使微信客户端专注于执行注入的js和自身的加密等.
  • 4.数据通过任意方式存入数据库.
  • 5.实现自动化,热重载.

自动化实现思路

自动化通过安卓手机adb驱动+python,必要时配合ocr 或者opencv进行图像定位识别,完成自动化搜索指定公众号,查看文章.
同一号码的采集工作需要得到公众号的所有文章url,之后通过页面注入的js来进行跳转.
在进行公众号间切换时可以选择python模拟操作进行搜索,或者通过js注入直接进入新公众号的文章列表页.
部分仅靠js无法完成的工作,则由python+adb来完成.

未验证的问题:

  • 微信的反爬虫机制目前并未深究,对于频率是否有限制仍不清楚.
    solution:如果有限制的话,思路中第三条的页面压缩则变得可有可无了.
  • 微信内置网页浏览器识别到公众号文章链接之后,是否针对性的限制了某些js执行.
    solution:这个是比较核心的功能,如果此项受限,那么整个流程的自动化跳转效率都会受到极大的影响,只能在response的body添加a标签,由python+adb模拟点击来实现跳转.当然了,如果上一条的反扒机制对于频率有限制,那么这么做也并不会影响太多的效率.
  • 接上条,Android在adb调试过程中,同一个terminal怎么来操作多个Android设备.
  • 性能OK,最好是足够轻量的安卓迷你器.

2018-1-15 夜挖坑,未完待填.

相关文章

网友评论

      本文标题:微信公众号采集的一点思路.

      本文链接:https://www.haomeiwen.com/subject/llsjoxtx.html