python模拟微信登陆抢券

您所在的位置:网站首页 python微信小程序抢购 python模拟微信登陆抢券

python模拟微信登陆抢券

2024-05-28 14:46| 来源: 网络整理| 查看: 265

目标

抓取微信消息,过滤到我们想要的券的网址,并模拟微信点击。(由于网友的手速太快了,真的抢不到,所以萌生了作弊的想法)

这里写图片描述

实现

itchat(http://itchat.readthedocs.io/zh/latest/ )

该项目利用微信的网页接口进行解析。例如:客户端接收到 hello world的消息,网页微信收到的如下: 这里写图片描述 这里写图片描述 这里我发现中文会有乱码的,起初以为是微信网页版会有相应的加密解码机制,结果分析得出,可能是编码问题(由于没有仔细去看js,还望指教) 然后这里有一个小问题

在编写监听代码时,无法监听到itchat.content.SHARING(即分享)的消息。

这里写图片描述

其中content.py(如下)中定义了各种消息类型,这里能使用itchat.content.INCOME_MSG代替,其中分享的msg_type为49,普通消息为1(第一个图中有标注).

TEXT = 'Text' MAP = 'Map' CARD = 'Card' NOTE = 'Note' SHARING = 'Sharing' PICTURE = 'Picture' RECORDING = VOICE = 'Recording' ATTACHMENT = 'Attachment' VIDEO = 'Video' FRIENDS = 'Friends' SYSTEM = 'System' INCOME_MSG = [TEXT, MAP, CARD, NOTE, SHARING, PICTURE, RECORDING, VOICE, ATTACHMENT, VIDEO, FRIENDS, SYSTEM]

fiddler(http://www.telerik.com/fiddler)

一款手机抓包软件安装配置可以参照 https://blog.csdn.net/gld824125233/article/details/52588275 配置完成之后

微信打开分享链接,fiddler中查看 这里写图片描述 上图的sessionid为之前获得的,打开链接之后会开启一个新的session(这里不需要) 这里写图片描述

至此,可以开干了(编码) 设置消息监听 @itchat.msg_register(ct.INCOME_MSG) def msg_rq(msg): if msg.MsgType == 1: # 普通的文字 print(msg.text) elif msg.MsgType == 49: # 网页链接 print(msg.Url) ous.open_url(msg.Url) # 打开该链接 return import requests # domain = 'http://api.shouqiev.com' # url = domain + '/share/shareRedEnvelope.json?orderId=180807144928943MOEDW32&from=singlemessage ' headers = { 'Host': 'api.shouqiev.com', 'Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Linux; Android 7.1.2; vivo X9 Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/044203 Mobile Safari/537.36 MicroMessenger/6.6.7.1321(0x26060739) NetType/WIFI Language/zh_CN', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,image/wxpic,image/sharpp,image/apng,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,en-US;q=0.8', } cookies = { 'a22bccc7460344a423a03389c1f5587c': '', #值被我删除了 'Hm_lvt_93a9e137393fca3dd0fcf57a44be5bbc': '1533354673,1533354735,1533355134,1533355504', 'Hm_lpvt_93a9e137393fca3dd0fcf57a44be5bbc': '1533641627' #这里的数值为时间戳 } def open_url(url): s = requests.session() rs = s.get(url, headers=headers, cookies=cookies) print(rs.text) # 测试 if __name__ == '__main__': ss = requests.session() r = ss.get(url, headers=headers, cookies=cookies) print(r.text)

代码已经传到github(https://github.com/finepix/wechat_voucher),后续会尝试使用授权,然后用到sessionid。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3