WCI指数相关数据半自动化统计

   日期:2024-12-25    作者:sht29 移动:http://ljhr2012.riyuangf.com/mobile/quote/17787.html

学校部门要求计算学校公众号的wci指数,而这首先需要获取公众号一段时间内消息的阅读量、点赞数、在看数、以及是否为头条。学校历年都是让学生人力去统计,我试着人力统计了一下,真是又费时又费力,于是尝试整一个爬虫用来获取这几个指标。

WCI指数相关数据半自动化统计

参考文章:爬取微信公众号发布的所有文章(包括阅读数,在看数,点赞数)_爬取微信公众号文章-CSDN博客

微信无法像浏览器一样直接通过控制台查看网络通信,因此需要抓包软件,这里使用的是Fiddler,其他抓包软件,类似burpSuit,应该也可以

本次抓包的关键在于:在哪里可以抓到包

微信内容的展示分两处,如图

左边的是在微信内置浏览器中展示,而右边的是在微信app的框架中展示

其中,左边展示的内容是可以抓到包的,而右边不行(可能也只是我的技术没到

经过我的实验,所有公众号消息列表的url的格式为

 
 

根据此值重构链接,然后把链接发送给微信好友,就可以在内置浏览器中打开公众号的消息列表了

然后就可以开始研究抓哪些包了

“3”:第一次打开时的整个界面,包括网页框架以及公众号的前十条内容

“7”:作用不详,据其url中的action为“urlcheck”,猜测其是检测该url是否正确

“8”,“38”,“44”,“90”:json文件,其中部分包含文章信息,部分不包含

观察包含文章信息的json文件的url,发现样式比较统一,并且可以直接使用浏览器进行访问 @

抓取多个公众号的多条消息,大致分析出url的如下信息

1.使用GET方法,链接为/mp/profile_ext

2.具有值的参数如下

名称值意义备注actiongetmsg获取消息不变__biz不固定公众号id更换公众号时改变fjson编码格式不变offset10偏移量可不变count10接受消息数量可不变is_ok1是否完成?不变uin不固定账户凭证之一?更换账号后可能要改变key不固定密匙更换公众号、重新登陆后都要重新设定pass_ticket不固定账户凭证之一?更换公众号、重新登陆后都要重新设定appmsg_token不固定账户凭证之一?更换公众号、重新登陆后都要重新设定x50未知不变

根据以上信息,只需获取一个公众号消息的原始请求,就可以在配置后使用爬虫获取其所有的历史消息

接着分析这个json文件

比较重要的有

属性名意义content_url消息链接title标题datetime时间戳

以上是对于消息列表的处理,接下来是对单个消息的处理

打开任意一篇公众号的文章,抓包,发现对于点赞、观看、在看数来源于/mp/getappmsgext的链接

这个请求使用的是post方法,在url中的有意义参数有

名称值意义备注fjson编码格式不变uin不固定用户标识同之前key不固定账户凭证之一同之前pass_ticket不固定账户凭证之一同之前wxtoken777位置固定devicetypeWindows%26nbsp%3B11%26nbsp%3Bx64使用设备可固定clientversion6309062f微信版本?可固定__biz不固定公帐号凭证同之前appmsg_token不固定账户凭证之一不固定

由于是post,所有除url的参数外,还需要注意param,参考文章爬取微信公众号发布的所有文章(包括阅读数,在看数,点赞数)_爬取微信公众号文章-CSDN博客中提到的请求设置方式,再加上相关的cookie和data

基于以上信息,就可以开始着手写爬虫了


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号