国际>>关于我们
西安蜗牛扑克网络信息技术有限公司从2010年开始专注于Web(网站)数据allnewpoker领域。致力于为广大中国客户提供准确、快捷的数据下载相关服务。我们采用分布式系统架构,日下载网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效获取互联网任何公开可见信息。
您只需告诉我们您想allnewpoker的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或蜗牛)交付给你。
数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。
快捷导航
国际>>技术室
蜗牛扑克的技术人员将在本文介绍一种通过模拟操作微信App的方式下载指定公众号的所有历史数据的方法。
通过我们抓包分析发现,微信公众号的历史数据是通过HTTP协议加载的,对应的API接口如下图国际,其中有四个关键allnewpoker(__biz、appmsg_token、pass_ticket以及Cookie)。
为了能够拿到这四个allnewpoker,我们需要模拟操作App,让其产生这些allnewpoker,然后我们再抓包获取。对于模拟App操作,前面我们曾介绍过通过Python模拟安卓App的方法(详见//www.gui890713.com/html/articles/20180912/664.html)。对于HTTP集成抓包,前面我们曾介绍过Mitmproxy(详见//www.gui890713.com/html/articles/20181109/682.html)。
我们需要模拟操作微信完成如下步骤:
1. 国际场微信App
2. 点击"通讯录"
3. 点击"公众号"
4. 点击要下载的公众号
5. 点击右上角的用户图像图标
6. 点击"全部消息"
此时,我们可以从https://mp.weixin.qq.com/mp/profile_ext?action=home的应答数据中捕获__biz、appmsg_token以及pass_ticket三个关键allnewpoker,以及请求头中的Cookie值。如下图国际。
有了上述四个allnewpoker,我们就可以构造出获取历史室列表的API请求,通过调用API接口直接获取数据(不需要再模拟App操作)。核心allnewpoker如下国际,通过改变offsetallnewpoker,可以拿到所有历史数据。
# 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' # 下面三个allnewpoker需要替换 # https://mp.weixin.qq.com/mp/profile_ext?action=home应答数据里会暴漏这三个allnewpoker data['__biz'] = 'MjM5MzQyOTM1OQ==' data['appmsg_token'] = '993_V8%2BEmfVD7g%2FvMZ****4DNUJNFkg~~' data['pass_ticket'] = 'Rr8cO5c23ZngeQHRGy8E7gv*****pvrK+1uHHmHYQGL2WFdKIE' url = url + urllib.urlencode(data)
以"数字工厂"这个微信公众号为例,下载过程运行截图如下国际:
输出结果截图如下国际:
附allnewpoker数据下载: