模拟微信网页登录得到头像
用到的语言 python
无聊想到的 扫描得到cookies 想模拟登陆
code:
import base64
import requests
import time
from threading import Thread
import re
import execjs
import cv2
def load_img():
login_img = cv2.imread('wx.png')
cv2.imshow('wx_img', login_img)
print('请快扫码')
cv2.waitKey(0)
wx_login = {
'appid': 'wx782c26e4c19acffb',
'redirect_uri': 'https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage',
'fun': 'new',
'lang': 'zh_CN',
'_': str(int(time.time()*1000))
}
jslogin = requests.get(url='https://login.wx.qq.com/jslogin',params=wx_login)
code_k = re.match('.+window.QRLogin.uuid.+"(?P<name>.+)";',jslogin.text).group('name')
with open('wx.png','wb') as fp:
fp.write(requests.get(url=f'https://login.weixin.qq.com/qrcode/{code_k}').content)
code_json = execjs.get().eval('{"d":~new Date(),"t":new Date().getTime()}')
Thread(target=load_img).start()
params = {
'loginicon': 'true',
'uuid': code_k,
'tip': 0,
'r': code_json['d'],
'_': code_json['t']
}
icon_code = re.match(".+userAvatar.+'data:img/jpg;base64,(?P<icon_code>.+)';",requests.get(url='https://login.wx.qq.com/cgi-bin/mmwebwx-bin/login',params=params).text).group('icon_code')
print('扫描成功\n关闭当前二维码 查看头像')
with open('wx_icon.png','wb') as fp:
fp.write(base64.b64decode(icon_code))
wx_win = cv2.resize(cv2.imread('wx_icon.png'),dsize=None,fx=2.5,fy=2.5)
cv2.imshow('wx_icon',wx_win)
cv2.waitKey(0)
2.效果:
扫完码 会提示关闭当前二维码

学习一下啦


浙公网安备 33010602011771号