如何采集微信公众号历史数据 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 公众号相关 >

如何采集微信公众号历史数据

发表时间:2020-11-12

发布人:葵宇科技

浏览次数:58

本文将介绍一种通过模拟操作微信App的方式采集指定公众号的所有历史数据的方法。

通过抓包分析发现,微信公众号的历史数据是通过HTTP协议加载的,对应的API接口如下图所示,其中有四个关键参数(__biz、appmsg_token、pass_ticket以及Cookie)。
在这里插入图片描述
为了能够拿到这四个参数,需要模拟操作App,让其产生这些参数,然后再抓包获取。
需要模拟操作微信完成如下步骤:

  1. 启动微信App

  2. 点击"通讯录"

  3. 点击"公众号"

  4. 点击要采集的公众号

  5. 点击右上角的用户图像图标

  6. 点击"全部消息"
    在这里插入图片描述
    在这里插入图片描述
    此时,我们可以从https://mp.weixin.qq.com/mp/profile_ext?action=home的应答数据中捕获__biz、appmsg_token以及pass_ticket三个关键参数,以及请求头中的Cookie值。如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    有了上述四个参数,我们就可以构造出获取历史文章列表的API请求,通过调用API接口直接获取数据(不需要再模拟App操作)。核心参数如下所示,通过改变offset参数,可以拿到所有历史数据。

view plaincopy to clipboardprint?

Cookie headers = {‘Cookie’: 'rewardsn=; wxtokenkey=777; wxuin=584068438; devicetype=android-19; version=26060736; lang=zh_CN;

pass_ticket=Rr8cO5c2******3tKGqe7aVZzV9TupvrK+1uHHmHYQGL2WFdKIE;
wap_sid2=COKhxu4KElxckFZQ3QzTHU4WThEUk0zcWdrZjhGcUdYdEVSV3Y1X2NPWHNUakRrd1ZzMnpLTERpdE5rbmxjSTg******dlRBcUNRazZpOGxTZUVEQUTgNQJVO’}
url = ‘https://mp.weixin.qq.com/mp/profile_ext?’ data = {}
data[‘is_ok’] = ‘1’ data[‘count’] = ‘10’ data[‘wxtoken’] = ‘’
data[‘f’] = ‘json’ data[‘scene’] = ‘124’ data[‘uin’] = ‘777’
data[‘key’] = ‘777’ data[‘offset’] = ‘0’ data[‘action’] = ‘getmsg’
data[‘x5’] = ‘0’

下面三个参数需要替换

https://mp.weixin.qq.com/mp/profile_ext?action=home应答数据里会暴漏这三个参数 data[’__biz’] = ‘MjM5MzQyOTM1OQ==’ data[‘appmsg_token’] =

‘993_V8%2BEmfVD7g%2FvMZ****4DNUJNFkg~~’ data[‘pass_ticket’] =
‘Rr8cO5c23ZngeQHRGy8E7gv*****pvrK+1uHHmHYQGL2WFdKIE’ url = url +
urllib.urlencode(data)

以"数字工厂"这个微信公众号为例,采集过程运行截图如下所示:
在这里插入图片描述
输出结果截图如下所示:
在这里插入图片描述
了解更多分析及数据抓取可查看:
http://cloud.yisurvey.com:9081//html/37be8794-b79e-4511-9d0a-81f082bac606.html
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

相关案例查看更多