分享一个使用“代理”的方式抓取微信公众账号文章,可以抓阅读数,点赞数,赞赏数和回复数,使用 anyproxy

2017-04-05 21:02:03 +08:00
 lijinma

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

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

这个工具是纯 node.js 代码,使用 anyproxy 做代理来抓取文章的。

安装:

$ npm install wechat_spider -g

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

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

抓取思路:

  1. 使用中间人攻击的方式,安装根证书。
  2. 为了保证自动抓取分页,在每一页的后面添加:<script>setTimeout(function(){window.location.href="下一个 url";},2000);</script>,动态修改下一个 url ,这样就可以保证一直抓下去。

这是一个完整的工具

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

我的公众账号

11676 次点击
所在节点    Node.js
54 条回复
lijinma
2017-04-06 12:04:59 +08:00
@MrFireAwayH 啊啊啊啊啊啊,你可以给我提个 issue 吗?把详细情况写一写,我想办法解决一下,虽然我用 Mac
lijinma
2017-04-06 13:41:11 +08:00
@yangxiongguo 不客气
MrFireAwayH
2017-04-06 14:15:53 +08:00
@lijinma 提了……不知道说的够不够清楚……嘛~总之麻烦啦
lijinma
2017-04-06 14:33:53 +08:00
@MrFireAwayH 说清楚了,看你的报错,应该是缺少 Windows SDK version 8.1

你试一下安装:

https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk
sundyli
2017-04-06 15:08:00 +08:00
我是 golang 版本的作者, 支持一下 wechat_spider nodejs 版本的开源
lijinma
2017-04-06 15:16:18 +08:00
@sundyli 太感谢你了,谢谢你的代码 + 你的文档。
MrFireAwayH
2017-04-06 15:31:08 +08:00
首先感谢分享 确实挺不错的……

其次……我想知道如何停止任务😶

不小心测试了一个火锅店……结果已经到 2014 年了……😂 停止程序也不能阻止
lijinma
2017-04-06 15:34:45 +08:00
@MrFireAwayH 哈哈哈哈, mac 上 control + c 就能退出了吧。。。

Windows 你看看,不行就找这个进程,杀掉。。
MrFireAwayH
2017-04-06 15:36:34 +08:00
@lijinma 我的意思是……不能退出任务😂 Ctrl+c 确实可以终止 spider 不过……再次开启 spider 后 他会继续跑上次没完成的任务……也就是那个历史悠久的火锅店 哪怕我手机这边换了别人的公众号
lijinma
2017-04-06 15:45:34 +08:00
@MrFireAwayH 噢噢噢噢,明白了。 你换一个目录:

1. 跑列表的时候会生成一个 wechat.sqlite ,然后跑单个文章的是,从 wechat.sqlite 中拿那些没跑过的文章。

所以你换一个目录,就会在这个目录建立一个新的数据库。

我说明白了吗?
MrFireAwayH
2017-04-06 15:55:44 +08:00
@lijinma OK 了~
laoertongzhi
2017-04-06 16:25:44 +08:00
感谢!
lijinma
2017-04-06 16:37:24 +08:00
@laoertongzhi 客气,求个 Star..
lijinma
2017-04-06 17:03:26 +08:00
@MrFireAwayH 你给的这个有问题的公众号奇怪了。。我等等有时间给你解决哈
AlwaysBee
2017-04-06 17:18:58 +08:00
支持支持,当初看了 go 的实现后还想自己写一个 node 版本的,现在不用了,哈哈
AlwaysBee
2017-04-06 17:23:24 +08:00
另外借个楼,推荐一个自己开发的 wordpress 插件,一键导入公众号文章,支持批量导入, http://artizen.me/beepress
lijinma
2017-04-06 17:26:04 +08:00
@AlwaysBee 哈哈, node 有方便的 anyproxy ,确实很舒服。谢谢你的工具,我做的 xiaolai.co 可能和你是类似的原理吧,我用 Guzzle 爬的。
AlwaysBee
2017-04-06 17:28:23 +08:00
@lijinma 配合爬虫食用更佳
lijinma
2017-04-06 17:35:38 +08:00
@AlwaysBee 是的,如果只是抓文章内容,只需要拿到文章 url ,然后自己爬就行了,但是我的媒体朋友需要点赞数,阅读数,赞赏数等。。。就没办法,只能代理客户端。
AlwaysBee
2017-04-06 17:43:10 +08:00
@lijinma 嗯,这些数据还要进行二次渲染,这个插件只是针对 wordpress ,方便用户,如果需要大量的导入的话那还是需要配合爬虫来进行比较高效,很不错,有 node 版本的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/352758

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX