抓包获取微信文章阅读数实战

首先需要获得一篇文章的地址

例如    https://mp.weixin.qq.com/s/S_g27h2KJPSb1NZ9DPM5Ig

我们在手机中访问 可以看到他的阅读数和点赞数 如下图

 

手机获取微信阅读数

如果在电脑浏览器中访问 是没有阅读数的  并且换了手机/微信的 user-agent 仍然不能获取到阅读数

为了解决这个问题 首先我们 配置好 抓包工具 看一下手机中访问这个页面的时候 究竟有哪些参数

首先配置好 类似 fiddler/charles之类的http/https抓包工具 如果不会配置 自行百度(不要忘记安装https证书   如果是ios10之后的设备 需要在设置中另外开启一个选项 切记!!!!!!!)

 

配置好抓包工具后 首先我们访问以下文章链接看一下请求

 

点击文章后的请求

 

如上图所示 出现了 很多很多的请求  第一个是文章的html连接 后面一次的还有 阅读数接口 和 评论信息接口 还有一个是公众号信息 还有几个不知道是做什么的接口

所以抓包后可以得出结论  阅读数是异步获取的  那就好办了 接下来我们继续看这个接口的参数就好了

https://mp.weixin.qq.com/mp/getappmsgext?f=json&mock=&uin=777&key=777&pass_ticket=QubwCfCA8tQmOKNy05WGE%25252FGdIeQ9xd5smXQdTUznrqfThf6SKZegV%25252BUoNtOHKXYT&wxtoken=777&devicetype=iOS12.0&clientversion=16070025&appmsg_token=966_UjA%252BvpGPcW4k3kPBneqR26gjfiQUlbb0tX_RWCeVBf7_ooOlyQYl1MfANvkqhiXnIy3JX4xFAhbfxM9j&x5=0&f=json

先来看一下这个链接   post传送的方式(我记得之前版本有一个 post参数  参数名为 is_read 值为 1 )

先拿到postman里访问一下尝试

 

尝试发送请求

 

结果如上图所示 竟然返回的是错误

继续看一下阅读数接口  发现除了 get的参数 和post的参数之外 还有cookie没做处理 

 

阅读数接口携带的cookie(部分)

那么这个cookie究竟是从哪里来的呢???

于是再往前翻一下 第一个接口 及文章的接口 

这个接口中 发现了 set-cookie

 

文章接口中的set-cookie(部分)

通过上图可以看出 微信的操作是 访问了文章接口 会set-cookie 给你 带这个cookie访问阅读数接口 才可以获得阅读数

那接下来我们手动处理一下cookie 再试试

最终成功请求后的结果如下图

 

阅读数接口

read_num 为阅读数 like_num为点赞数

另外经过我一番整理之后 我发现 cookie生成的方式 依赖于 文章接口中的 X-WECHAT-UIN 和 X-WECHAT-KEY这两个参数 这两个参数的的来源只能是点击文章获取   获取后来置换cookie 从而进行接下来的请求

这两个参数是微信那边生成的 目前不知道算法 而且存在过期时间

另外一个阅读数的关键参数 是 appmsg_token 

这个参数可以在文章页面的html中获取 用正则匹配一下即可

另外还有一点小发现 就是 一篇文章的 X-WECHAT-UIN 和 X-WECHAT-KEY 可以获取相同公众号下的文章的阅读数 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值