利用Python了解微信通信机制,实现查询有多少好友删除你!!

此篇文章参考微信通信机制,收益匪浅!:http://lib.csdn.net/article/wechat/63831

QQ交流群127591054

当然也可以写发送消息的代码,机制和上述文章介绍的一样,大家可以参考学习!

偶遇:偶尔在论坛发现有外国友人在开源社区发布的Python微信删除好友查看,但是这个作者的代码我这边运行出现了点问题,就是各种问题,我在作者基础上进行研究修改!最终在Python2.7成功运行,之后又用了两天时间把运行环境转移到Python3.5。几乎完美执行!但是有一个问题我真的无能为力!在当我输出第三组好友名单的时候,就报错了!

报错如下:没办法我就去掉输出好友,就正常了,完整代码在下面,几乎每一句做了详细的注释!

#UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 138-138: Non-BMP character not supported in Tk

原理:简单点就是把好友分组拉入群组,不超过40,别人是看不到的,拉不进俩就代表你被删了!!

但是问题来了,我最近发现腾讯web端操作容易被受限制,我拉了一组或者两组就被限制,说操作频繁了!!所以大家可以拿来学习微信通讯机制!!,不可以用来做坏事哦!虽然可以得到这个用户所有的信息!

完整代码如下:祝大家学习进步!详细注释代码中有写。^~^,就不一句一句讲了。
1、运行代码,会跳出二维码,扫描在手机确认登陆,然后关闭图片,程序自动运行!!
这里写图片描述
2、按操作一步一步执行就可以了~~,具体实现看注释其实不难。

# coding=utf-8  
#Python 3.5
#Author Jack Chiang
import os  
import urllib 
import re  
import http.cookiejar  
import time  
import xml.dom.minidom  
import json  
import sys
import math
import matplotlib.pyplot as plt  
import matplotlib.cbook as cbook
import matplotlib

from matplotlib.font_manager import FontProperties

DEBUG = True #确定当前测试是否查看服务器返回的Json数据  

max_group = 35 # 每组人数  

QRImagePath = os.getcwd() + '/qrcode.jpg'  

tip = 0 #全局变量:标识是否扫描二维码登陆
uuid = ''  #全局变量:获取登陆值 

base_uri = ''  
redirect_uri = ''  

skey = ''  
wxsid = ''  
wxuin = ''  
pass_ticket = ''  
deviceId = 'e000000000000000'#这个参数是一个15个字节的随机数,所以写死了  

BaseRequest = {}  

ContactList = []  
My = []  

def getUUID():  
    global uuid
    url = 'https://login.weixin.qq.com/jslogin'  
    params = {  
        'appid': 'wx782c26e4c19acffb',  
        'fun': 'new',  
        'lang': 'zh_CN',  
        '_': int(time.time()),  
    }  
        #使用get方法,通过请求地址:https://login.weixin.qq.com/jslogin?appid=wx782c26e4c19acffb&fun=new&lang=zh_CN&_=时间戳
        #其中,时间戳这个值是当前距离林威治标准时间的毫秒。
    request = urllib.request.Request(url = url, data = urllib.parse.urlencode(params).encode(encoding='UTF-8'))  
    response = urllib.request.urlopen(request)
    #成功则返回:window.QRLogin.code = 200; window.QRLogin.uuid = "UUID"
    data = response.read()

    #1970纪元后经过的浮点秒数time.time()
    #print (time.time())
    #print(data)

        #只要有UUID就可以登陆微信网页版
    # window.QRLogin.code = 200; window.QRLogin.uuid = "oZwt_bFfRg==";  
    regx = r'window.QRLogin.code = (\d+?); window.QRLogin.uuid = "(\S+?)"'  #利用正则表达式匹配  
    pm = re.search(regx,str(data))  

    code = pm.group(1)  #200
    uuid = pm.group(2)  #oZwt_bFfRg==

    if code == '200':  
        return True  

    return False  

#下载微信登陆图片然后打开
def showQRImage():  
    global tip  
    #3、查询是否扫描二维码登录
    #使用get方法,查询地址:https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=XXXXXX&tip=1&_=时间戳
    tip=1
    url = 'https://login.weixin.qq.com/qrcode/%s?tip=%d&_=%d' % (uuid,tip,int(time.time()))  
    """params = {  
                  'tip': '1',  
                   '_': int(time
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中的代码是一个使用Python实现微信群加好友的示例代码。这段代码使用了wxpy库来实现微信机器人的功能。首先,通过创建一个机器人对象(bot)并启用缓存功能和二维码登录方式。然后,通过bot.groups().search('Goodog')来搜索需要加入的群。接下来,定义了一个自动通过好友请求的函数,并在函数中发送加群提示信息。另外,还定义了一个关键字回复函数,当收到包含关键字的消息时,将邀请用户加入指定的群。最后,还定义了一个函数用于在用户入群后发送群公告。这段代码实现了自动通过好友请求并发送加群邀请链接的功能。引用\[2\]和\[3\]提到了管理大量微信社群时的场景,当微信群的人数达到100人之后,无法通过分享的群二维码加入群,需要手动邀请好友加入。因此,使用Python实现微信群加好友的功能可以提高效率,避免手动邀请的繁琐过程。 #### 引用[.reference_title] - *1* *3* [Python 实现微信自动通过好友添加请求!!!](https://blog.csdn.net/qq_17481731/article/details/103084753)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python实现微信自动通过好友申请并发送加群链接!](https://blog.csdn.net/weixin_39612058/article/details/110447994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值