php文章列表点赞数怎么循环,微信文章阅读数点赞数查询API接口及实现(小数据量)...

研究过微信文章阅读和点赞数的同学都知道,如何获取这两个数字,关键在于获取微信有效的key.这个key的作用时间大概是2小时,而且也有访问频率的限制.访问频率可以用代码控制,大概10秒一次的速度就不会被屏蔽.接下来说如何完全自动获取有效的key.

可能大部分同学都会去搞手机上的key,一来我不知道怎么搞(Java开发不会Android囧),二来也是打算直接在PC端实现这个抓取过程.于是就从研究微信的网页客户端.其实这个key非常好获取,转发一个公众号的文章到网页客户端,从客户端打开就可以在链接里看到这个key.

10bede440af8b4bc3529f809d9cd5902.png

我实现的思路是:

用chrome浏览器插件模拟点击网页版的客户端里的公众号微信文章,获取到这个链接中的key和uin这两个参数.通过websocket传到本机的Java中(抓取的时候调通过websocket发送消息给chrome,然后返回key和uin).

chrome的插件已经写完了.具体的使用步骤就是,打开你的server端(启动你的websocket server),点击那个微信的图标,插件图标(这一步是连接websocket client 到server).保证文件转发助手里有一条公众号的文章(任意一篇),接下来程序就可以调用了.

13986e704fbc8ba4664503b5c52b3e3b.png

Java拿到的key

d25bc22c1ffb277086abce6268b88f99.png

现在整个抓取过程已经写完了,而且也能用(我的抓取量很小,量的同学请再研究别的办法.).整个抓取过程中我认为另一点比较重要的就是获取微信文章的列表(抓搜狗被屏蔽了...).因为我有公众号的账号密码,所以刚开始直接从公众号的素材管理里直接抓,但是那个不准,一是上面的时间编辑时间而不是发布时间,二是,通过从里面抓取的文章的mid和sn这两个参数获取到的点赞数都是0,阅读数都是2.所以我猜发布前和发布后微信是有两套mid和sn的.多亏了大神,一眼云烟分享了微信查询历史的接口(他抓手机端的包拿到的).反正是http,于是乎我拿来直接用.这样就搞定了.

调用微信查询历史数据接口获取发布文章的地址.biz这个参数每个公众号是固定的,可以从链接中取到.只需key和uin就可以获取到某个公众号过去一周的文章.接口地址:http://mp.weixin.qq.com/mp/getmasssendmsg

e81d781e3d69d29510de61a7bdf6f316.png

拿到文章列表取出biz,mid,sn和idx等参数加上key和uin就可以调接口(http://mp.weixin.qq.com/mp/getappmsgext)获取点赞数和阅读数了.需要注意的是UA用手机的UA

63e904191ed9c2abac557c3e3defbd30.png

Http调用返回的json,like_num就是点赞数了.

7402c4964898e81ce1618adc2def0e67.png

插件下载地址:http://download.csdn.net/detail/owen292/8956043

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值