python代码添加微信号(python 获取微信好友列表的方法微信web)
类别:脚本大全 浏览量:1663
时间:2022-01-25 00:37:24 python代码添加微信号
python 获取微信好友列表的方法微信web如下所示:
|
import urllib import urllib2 import os import time import re import cookielib import xml.dom.minidom import json tip = 0 uuid = '' successUrl = '' skey = '' wxsid = '' wxuin = '' pass_ticket = '' deviceId = 'e000000000000000' imagesPath = os.getcwd() + '/weixin.jpg' BaseRequest = {} base_uri = '' push_uri = '' def getUUID(): global uuid url = 'https://login.weixin.qq.com/jslogin' values = { 'appid' : 'wx782c26e4c19acffb' , 'redirect_uri' : 'https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage' , 'fun' : 'new' , 'lang' : 'zh_CN' , '_' : int (time.time()) } request = urllib2.Request(url = url, data = urllib.urlencode(values)) response = urllib2.urlopen(request) data = response.read() print data regx = r 'window.QRLogin.code = (\d+); window.QRLogin.uuid = "(\S+?)"' pm = re.search(regx, data) code = pm.group( 1 ) uuid = pm.group( 2 ) print code, uuid if code = = '200' : return True return False def show2DimensionCode(): global tip url = 'https://login.weixin.qq.com/qrcode/' + uuid values = { 't' : 'webwx' , '_' : int (time.time()) } request = urllib2.Request(url = url, data = urllib.urlencode(values)) response = urllib2.urlopen(request) tip = 1 f = open (imagesPath, 'wb' ) f.write(response.read()) f.close() time.sleep( 1 ) os.system( 'call %s' % imagesPath) print u 'please sacn qcode by your phone' .encode( 'GBK' ) def isLoginSucess(): global successUrl, base_uri, push_uri url = 'https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?tip=%s&uuid=%s&_=%s' % (tip, uuid, int (time.time())) request = urllib2.Request(url = url) response = urllib2.urlopen(request) data = response.read() print data regx = r 'window.code=(\d+)' regxLogin = r 'window.redirect_uri="(\S+?)"' pm = re.search(regx, data) pmLogin = re.search(regxLogin, data) code = pm.group( 1 ) if pmLogin ! = None : successUrl = pmLogin.group( 1 ) + '&fun=new&version=v2' if code = = '201' : print 'Scan QR code successfully!' elif code = = '200' : print 'Logining...' services = [ ( 'wx2.qq.com' , 'webpush2.weixin.qq.com' ), ( 'qq.com' , 'webpush.weixin.qq.com' ), ( 'web1.wechat.com' , 'webpush1.wechat.com' ), ( 'web2.wechat.com' , 'webpush2.wechat.com' ), ( 'wechat.com' , 'webpush.wechat.com' ), ( 'web1.wechatapp.com' , 'webpush1.wechatapp.com' ), ] base_uri = successUrl[:successUrl.rfind( '/' )] push_uri = base_uri for (searchUrl, pushUrl) in services: if base_uri.find(searchUrl) > = 0 : push_uri = 'https://%s/cgi-bin/mmwebwx-bin' % pushUrl break elif code = = '408' : print 'Login Timeout!' return code def webwxnewloginpage(): global successUrl, skey, wxsid, wxuin, pass_ticket, BaseRequest request = urllib2.Request(url = successUrl) response = urllib2.urlopen(request) data = response.read() doc = xml.dom.minidom.parseString(data) root = doc.documentElement for node in root.childNodes: if node.nodeName = = 'skey' : skey = node.childNodes[ 0 ].data elif node.nodeName = = 'wxsid' : wxsid = node.childNodes[ 0 ].data elif node.nodeName = = 'wxuin' : wxuin = node.childNodes[ 0 ].data elif node.nodeName = = 'pass_ticket' : pass_ticket = node.childNodes[ 0 ].data BaseRequest = { 'Uin' : wxuin, 'Sid' : wxsid, 'Skey' : skey, 'DeviceID' : deviceId, } def webwxinit(): global skey, pass_ticket, BaseRequest, base_uri url = (base_uri + '/webwxinit?pass_ticket=%s&skey=%s&r=%s' % (pass_ticket, skey, int (time.time()))) params = { 'BaseRequest' : BaseRequest} headers = { 'content-type' : 'application/json; charset=UTF-8' } request = urllib2.Request(url = url, data = json.dumps(params), headers = headers) response = urllib2.urlopen(request) data = response.read() print data def webwxgetcontact(): global skey, pass_ticket, base_uri url = (base_uri + '/webwxgetcontact?pass_ticket=%s&skey=%s&r=%s' % (pass_ticket, skey, int (time.time()))) headers = { 'content-type' : 'application/json; charset=UTF-8' } request = urllib2.Request(url = url, headers = headers) response = urllib2.urlopen(request) data = response.read() print data def main(): cookie = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar())) urllib2.install_opener(cookie) if getUUID() = = False : print 'Get uuid unsuccessfully!' return None show2DimensionCode() time.sleep( 1 ) while isLoginSucess() ! = '200' : pass webwxnewloginpage() # time.sleep(1) # webwxinit() time.sleep( 1 ) webwxgetcontact() os.remove(imagesPath) print 'Login successfully!' if __name__ = = '__main__' : print 'Welcome to use weixin personnal version' print 'Please click Enter key to continue......' main() |
以上这篇python 获取微信好友列表的方法(微信web)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/Dopamy_BusyMonkey/article/details/74568558
您可能感兴趣
- python处理时间序列常用方法汇总(python整小时 整天时间戳获取算法示例)
- python分割字符串要用哪一个语句(python使用threading.Condition交替打印两个字符)
- python装饰器怎么设置(深入了解和应用Python 装饰器 @decorator)
- python中比较同一字典value(在Python 字典中一键对应多个值的实例)
- python采集微信电脑端聊天信息(利用Python实现微信找房机器人实例教程)
- pythonftp功能介绍(使用Python操作FTP实现上传和下载的方法)
- python微信防封(深入学习微信网址链接解封的防封原理visit_type)
- 浅谈Python3中strip()、lstrip()、rstrip()用法详解(浅谈Python3中strip、lstrip、rstrip用法详解)
- kmp算法怎么用c描述(详解小白之KMP算法及python实现)
- java集成钉钉发送消息(Python实现钉钉发送报警消息的方法)
- python使用telnet(python 处理telnet返回的More,以及get想要的那个参数方法)
- python制作彩色字符(Python3利用print输出带颜色的彩色字体示例代码)
- python常用的属性和方法(Python进阶之@property动态属性的实现)
- pythondjango后台管理(基于腾讯云服务器部署微信小程序后台服务Python+Django)
- 如何用python在微信里自动回复(Python实现微信自动好友验证,自动回复,发送群聊链接方法)
- pythonssh登录服务器(对python 通过ssh访问数据库的实例详解)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
- 他是梁山最早的头目,江湖人称 旱地忽律 ,宋江几乎将其遗忘(他是梁山最早的头目)
热门推荐
- python远程下发shell指令(Python实现堡垒机模式下远程命令执行操作示例)
- apache服务器配置https(Apache Rewrite url重定向功能的简单配置)
- html5创作(HTML5录音实践总结Preact)
- php验证码实现过程(php伪静态验证码不显示的解决方案)
- 单元格内容过多超出怎么办(单元格内文本显示超过单元格宽度的快速解决办法)
- 如何让yii2高级模板运行起来(Yii框架Session与Cookie使用方法示例)
- sqlserver数据库还原教程(SQL Server通过重建方式还原master数据库)
- extjs card卡片式布局
- 用docker搭建在线开发平台(docker部署蜗牛影院系统详细流程分析)
- 网站部署到云服务可以访问吗(使用云服务器建站网站崩溃怎么办?)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9