使用 anyproxy 二次开发的微信公众号抓取工具,可以抓阅读数,点赞数,赞赏数和回复数

在 Laravel China 的同学们可能听我说过,我确实因为还算比较熟悉 Node.js,在工作中多次受益,因为 Node.js 里面的工具和轮子特别多,今天的工具中我使用 anyproxy 就是阿里开源的一个代理工具。

我本来是写了更复杂的工具,使用 Node.js 的 anyproxy 加上 php 的 Laravel 框架,完成这些功能,但是某天洗澡的时候终于想通了,我其实把一个工具复杂化了,这个工具本来是很简单的,我给一位媒体朋友指导了一下,他也很快就用起来了。

首先,先看我之前写的文章,介绍现在微信公众账号一般抓取的方法:

如何优雅的抓取微信公众号历史文章

一般有两种抓取的方法:

  1. 抓取搜狗微信。
  2. 利用“中间人攻击”思路使用代理抓取。

清明节花了一天时间写了这个工具,思路是利用“中间人攻击”,想可以试试。

安装:

$ npm install wechat_spider -g

具体安装和使用请查看 https://github.com/lijinma/wechat_spider 求 Star

抓取完存储在 sqlite 中,可以导出 csv ,如图:

file

抓取思路:

  • 因为微信的链接是 https,所以需要使用中间人攻击的方式,安装根证书(anyproxy 工具的功能)。
  • 为了保证自动抓取分页,在每一页的后面添加:<script>setTimeout(function(){window.location.href="下一个 url";},2000);</script>,动态修改下一个 url ,这样就可以保证一直抓下去。

这是一个完整的工具

我尽可能的在 README 中尽可能的把每一步都写得非常清楚,希望真的可以对你有用,尤其是媒体工作者,因为我这个工具就是为我一个做媒体的朋友写的,有任何问题,请提 Issue 。

本作品采用《CC 协议》,转载必须注明作者和本文链接
写文字大部分时候是因为我希望能帮助到你,小部分时候是想做总结或做记录。我的微信是 lijinma,希望和你交朋友。 以下是我的公众账号,会分享我的学习和成长。
本帖由 Summer 于 7年前 加精
lijinma
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2
lijinma

@maxincai 哈哈,主要原因是通过 web 的方式是没办法拿到点赞数和阅读数,只能通过客户端。

另外,anyproxy 真的好用啊,比 Fiddle 和 Charles 这些工具强大多了,因为是可编程的。

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!