模拟微信网页登录得到头像
作者:互联网
用到的语言 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.效果:
扫完码 会提示关闭当前二维码
学习一下啦
标签:code,网页,img,微信,cv2,头像,import,login,wx 来源: https://www.cnblogs.com/inkser/p/16483581.html