2024年7月19日更新
距离写这篇文章已经过去了三年了,期间有不少朋友问我能不能提供一套封装好的api供大家使用. 其实这些年一直在做这个事情.有需求的朋友可以私信我. 交流交流
2020年12月24日更新
最近有读者反馈 获取不到评论数
这个其实很简单,只需要在阅读数接口传入 comment_id 参数即可获取到,
comment_id获取方式在文章的html中
2020年7月8日更新
最近新写了一篇关于爬虫各种技术的科普 //www.greatytc.com/p/21bfeacbc5d5
2020年 4月18日更新
最近有读者反馈最新的阅读数接口的参数增多
实际我测试了一下 目前文中的使用cookie方式依然可以使用,
想了解相关技术的可以私聊我,或者在下方评论
2019年6月27日更新
经过艰难险阻.. 目前api终于恢复了,可以使用的业务有
1. 搜狗链接转为永久
2. 获取公众号历史发文消息( 支持获取全部历史消息)
3. 获取文章阅读数
12月18日更新
目前API暂时不可用,如果有相关技术的朋友可以联系我,或者遇到问题的朋友也可以与我交流
待我研究出新方案之后 继续提供免费API 感谢各位的支持
8月3日 更新
对于爬虫需求量较少的朋友 或者本身对爬虫技术不是很熟悉的朋友 可以私信我一下 我这里提供免费的爬虫API (API包含三个功能 1.获取公众号最近10条历史消息 , 2.获取文章阅读数/点赞数 3.获取搜狗永久链接)
关于搜狗转永久链接 & 抓历史消息相关文章 近期会上线
有相关技术问题及批量化问题 请私信联系我
之前写过几篇文章 貌似最近微信又改过一次验证规则 导致之前的不能用了
正文如下
首先需要获得一篇文章的地址
例如 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究竟是从哪里来的呢???
于是再往前翻一下 第一个接口 及文章的接口
这个接口中 发现了 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 可以获取相同公众号下的文章的阅读数