首页

文章

怎么看微信朋友是否把自己删除好友

发布网友 发布时间:2022-04-19 11:23

我来回答

5个回答

懂视网 时间:2022-05-10 13:21

本文实例为大家分享了python微信好友删除的具体代码,供大家参考,具体内容如下

#weixin.py
#coding:utf-8
# !/usr/bin/env python
# coding=utf-8

#通过该程序可以发现被删除的好友

import os
import urllib, urllib2
import re
import cookielib
import time
import xml.dom.minidom
import json
import sys
import math

DEBUG = False

MAX_GROUP_NUM = 35 # 每组人数

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

tip = 0
uuid = ''

base_uri = ''
redirect_uri = ''

skey = ''
wxsid = ''
wxuin = ''
pass_ticket = ''
deviceId = 'e000000000000000'

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()),
 }

 request = urllib2.Request(url=url, data=urllib.urlencode(params))
 response = urllib2.urlopen(request)
 data = response.read()

 # print data

 # window.QRLogin.code = 200; window.QRLogin.uuid = "oZwt_bFfRg==";
 regx = r'window.QRLogin.code = (d+); window.QRLogin.uuid = "(S+?)"'
 pm = re.search(regx, data)

 code = pm.group(1)
 uuid = pm.group(2)

 if code == '200':
 return True

 return False

def showQRImage():
 global tip

 url = 'https://login.weixin.qq.com/qrcode/' + uuid
 params = {
 't': 'webwx',
 '_': int(time.time()),
 }

 request = urllib2.Request(url=url, data=urllib.urlencode(params))
 response = urllib2.urlopen(request)

 tip = 1

 f = open(QRImagePath, 'wb')
 f.write(response.read())
 f.close()

 if sys.platform.find('darwin') >= 0:
 os.system('open %s' % QRImagePath)
 elif sys.platform.find('linux') >= 0:
 os.system('xdg-open %s' % QRImagePath)
 else:
 os.system('call %s' % QRImagePath)

 print '请使用微信扫描二维码以登录'

def waitForLogin():
 global tip, base_uri, redirect_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

 # window.code=500;
 regx = r'window.code=(d+);'
 pm = re.search(regx, data)

 code = pm.group(1)

 if code == '201': # 已扫描
 print '成功扫描,请在手机上点击确认以登录'
 tip = 0
 elif code == '200': # 已登录
 print '正在登录...'
 regx = r'window.redirect_uri="(S+?)";'
 pm = re.search(regx, data)
 redirect_uri = pm.group(1) + '&fun=new'
 base_uri = redirect_uri[:redirect_uri.rfind('/')]
 elif code == '408': # 超时
 pass
 # elif code == '400' or code == '500':

 return code

def login():
 global skey, wxsid, wxuin, pass_ticket, BaseRequest

 request = urllib2.Request(url=redirect_uri)
 response = urllib2.urlopen(request)
 data = response.read()

 # print data

 '''
 <error>
 <ret>0</ret>
 <message>OK</message>
 <skey>xxx</skey>
 <wxsid>xxx</wxsid>
 <wxuin>xxx</wxuin>
 <pass_ticket>xxx</pass_ticket>
 <isgrayscale>1</isgrayscale>
 </error>
 '''

 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

 # print 'skey: %s, wxsid: %s, wxuin: %s, pass_ticket: %s' % (skey, wxsid, wxuin, pass_ticket)

 if skey == '' or wxsid == '' or wxuin == '' or pass_ticket == '':
 return False

 BaseRequest = {
 'Uin': int(wxuin),
 'Sid': wxsid,
 'Skey': skey,
 'DeviceID': deviceId,
 }

 return True

def webwxinit():
 url = base_uri + '/webwxinit?pass_ticket=%s&skey=%s&r=%s' % (pass_ticket, skey, int(time.time()))
 params = {
 'BaseRequest': BaseRequest
 }

 request = urllib2.Request(url=url, data=json.dumps(params))
 request.add_header('ContentType', 'application/json; charset=UTF-8')
 response = urllib2.urlopen(request)
 data = response.read()

 if DEBUG == True:
 f = open(os.getcwd() + '/webwxinit.json', 'wb')
 f.write(data)
 f.close()

 # print data

 global ContactList, My
 dic = json.loads(data)
 ContactList = dic['ContactList']
 My = dic['User']

 ErrMsg = dic['BaseResponse']['ErrMsg']
 if len(ErrMsg) > 0:
 print ErrMsg

 Ret = dic['BaseResponse']['Ret']
 if Ret != 0:
 return False

 return True

def webwxgetcontact():
 url = base_uri + '/webwxgetcontact?pass_ticket=%s&skey=%s&r=%s' % (pass_ticket, skey, int(time.time()))

 request = urllib2.Request(url=url)
 request.add_header('ContentType', 'application/json; charset=UTF-8')
 response = urllib2.urlopen(request)
 data = response.read()

 if DEBUG == True:
 f = open(os.getcwd() + '/webwxgetcontact.json', 'wb')
 f.write(data)
 f.close()

 # print data

 dic = json.loads(data)
 MemberList = dic['MemberList']

 # 倒序遍历,不然删除的时候出问题..
 SpecialUsers = ['newsapp', 'fmessage', 'filehelper', 'weibo', 'qqmail', 'fmessage', 'tmessage', 'qmessage',
  'qqsync', 'floatbottle', 'lbsapp', 'shakeapp', 'medianote', 'qqfriend', 'readerapp', 'blogapp',
  'facebookapp', 'masssendapp', 'meishiapp', 'feedsapp', 'voip', 'blogappweixin', 'weixin',
  'brandsessionholder', 'weixinreminder', 'wxid_novlwrv3lqwv11', 'gh_22b87fa7cb3c',
  'officialaccounts', 'notification_messages', 'wxid_novlwrv3lqwv11', 'gh_22b87fa7cb3c', 'wxitil',
  'userexperience_alarm', 'notification_messages']
 for i in xrange(len(MemberList) - 1, -1, -1):
 Member = MemberList[i]
 if Member['VerifyFlag'] & 8 != 0: # 公众号/服务号
 MemberList.remove(Member)
 elif Member['UserName'] in SpecialUsers: # 特殊账号
 MemberList.remove(Member)
 elif Member['UserName'].find('@@') != -1: # 群聊
 MemberList.remove(Member)
 elif Member['UserName'] == My['UserName']: # 自己
 MemberList.remove(Member)

 return MemberList

def createChatroom(UserNames):
 MemberList = []
 for UserName in UserNames:
 MemberList.append({'UserName': UserName})

 url = base_uri + '/webwxcreatechatroom?pass_ticket=%s&r=%s' % (pass_ticket, int(time.time()))
 params = {
 'BaseRequest': BaseRequest,
 'MemberCount': len(MemberList),
 'MemberList': MemberList,
 'Topic': '',
 }

 request = urllib2.Request(url=url, data=json.dumps(params))
 request.add_header('ContentType', 'application/json; charset=UTF-8')
 response = urllib2.urlopen(request)
 data = response.read()

 # print data

 dic = json.loads(data)
 ChatRoomName = dic['ChatRoomName']
 MemberList = dic['MemberList']
 DeletedList = []
 for Member in MemberList:
 if Member['MemberStatus'] == 4: # 被对方删除了
 DeletedList.append(Member['UserName'])

 ErrMsg = dic['BaseResponse']['ErrMsg']
 if len(ErrMsg) > 0:
 print ErrMsg

 return (ChatRoomName, DeletedList)

def deleteMember(ChatRoomName, UserNames):
 url = base_uri + '/webwxupdatechatroom?fun=delmember&pass_ticket=%s' % (pass_ticket)
 params = {
 'BaseRequest': BaseRequest,
 'ChatRoomName': ChatRoomName,
 'DelMemberList': ','.join(UserNames),
 }

 request = urllib2.Request(url=url, data=json.dumps(params))
 request.add_header('ContentType', 'application/json; charset=UTF-8')
 response = urllib2.urlopen(request)
 data = response.read()

 # print data

 dic = json.loads(data)
 ErrMsg = dic['BaseResponse']['ErrMsg']
 if len(ErrMsg) > 0:
 print ErrMsg

 Ret = dic['BaseResponse']['Ret']
 if Ret != 0:
 return False

 return True

def addMember(ChatRoomName, UserNames):
 url = base_uri + '/webwxupdatechatroom?fun=addmember&pass_ticket=%s' % (pass_ticket)
 params = {
 'BaseRequest': BaseRequest,
 'ChatRoomName': ChatRoomName,
 'AddMemberList': ','.join(UserNames),
 }

 request = urllib2.Request(url=url, data=json.dumps(params))
 request.add_header('ContentType', 'application/json; charset=UTF-8')
 response = urllib2.urlopen(request)
 data = response.read()

 # print data

 dic = json.loads(data)
 MemberList = dic['MemberList']
 DeletedList = []
 for Member in MemberList:
 if Member['MemberStatus'] == 4: # 被对方删除了
 DeletedList.append(Member['UserName'])

 ErrMsg = dic['BaseResponse']['ErrMsg']
 if len(ErrMsg) > 0:
 print ErrMsg

 return DeletedList

def main():
 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
 urllib2.install_opener(opener)

 if getUUID() == False:
 print '获取uuid失败'
 return

 showQRImage()
 time.sleep(1)

 while waitForLogin() != '200':
 pass

 os.remove(QRImagePath)

 if login() == False:
 print '登录失败'
 return

 if webwxinit() == False:
 print '初始化失败'
 return

 MemberList = webwxgetcontact()

 MemberCount = len(MemberList)
 print '通讯录共%s位好友' % MemberCount

 ChatRoomName = ''
 result = []
 for i in xrange(0, int(math.ceil(MemberCount / float(MAX_GROUP_NUM)))):
 UserNames = []
 NickNames = []
 DeletedList = ''
 for j in xrange(0, MAX_GROUP_NUM):
 if i * MAX_GROUP_NUM + j >= MemberCount:
 break

 Member = MemberList[i * MAX_GROUP_NUM + j]
 UserNames.append(Member['UserName'])
 NickNames.append(Member['NickName'].encode('utf-8'))

 print '第%s组...' % (i + 1)
 print ', '.join(NickNames)
 print '回车键继续...'
 raw_input()

 # 新建群组/添加成员
 if ChatRoomName == '':
 (ChatRoomName, DeletedList) = createChatroom(UserNames)
 else:
 DeletedList = addMember(ChatRoomName, UserNames)

 DeletedCount = len(DeletedList)
 if DeletedCount > 0:
 result += DeletedList

 print '找到%s个被删好友' % DeletedCount
 # raw_input()

 # 删除成员
 deleteMember(ChatRoomName, UserNames)

 # todo 删除群组

 resultNames = []
 for Member in MemberList:
 if Member['UserName'] in result:
 NickName = Member['NickName']
 if Member['RemarkName'] != '':
 NickName += '(%s)' % Member['RemarkName']
 resultNames.append(NickName.encode('utf-8'))

 print '---------- 被删除的好友列表 ----------'
 print '
'.join(resultNames)
 print '-----------------------------------'

# windows下编码问题修复
class UnicodeStreamFilter:
 def __init__(self, target):
 self.target = target
 self.encoding = 'utf-8'
 self.errors = 'replace'
 self.encode_to = self.target.encoding

 def write(self, s):
 if type(s) == str:
 s = s.decode('utf-8')
 s = s.encode(self.encode_to, self.errors).decode(self.encode_to)
 self.target.write(s)

if sys.stdout.encoding == 'cp936':
 sys.stdout = UnicodeStreamFilter(sys.stdout)

if __name__ == '__main__':
 print '本程序的查询结果可能会引起一些心理上的不适,请小心使用...'
 print '回车键继续...'
 raw_input()

 main()

 print '回车键结束'
 raw_input()

-->

热心网友 时间:2022-05-10 10:29

1、首先点击进入手机上的微信APP。如下图所示。


2、接着点击顶部的搜索框并搜索好友备注名。如下图所示。

3、然后再输入聊天消息并发送给好友。如下图所示。

4、最后如果好友将你删除了,消息就会发不出去,就会显示红色的感叹号。如下图所示。

热心网友 时间:2022-05-10 11:47

看微信朋友是否把自己删除好友步骤如下:

1、首先在自己的通讯录里面找到好友,点击进入到聊天页面,如下图所示;

2、然后在聊天页面里面点击右下角发送信息按钮,如下图所示。

3、接着聊天内容切换到发送图片,红包页面,点击转账,如下图所示。

4、随意输入一个转账金额,然后点击转账,如下图所示。

5、如果好友未将你删除,会跳出输入密码页面,如下图所示。

6、如果该好友已将你删除好友,点击转账,会出现你不是收款方的好友提示。

热心网友 时间:2022-05-10 13:22

怎么看微信朋友是否删除自己

首先第一个方法:群发。使用群发这种功能很快就能查出来谁把你拉黑了,删除了,但是这种方式有点劳师动众,不够隐蔽,除非是过年发点祝福语言,不然为了查看谁删除了你专门去*扰一遍所有人,还容易引起反感。

第二个方式:发起群聊。这种方式不动声色也很有效果,能大范围面积知道谁拉黑了你。你可以把想确认的好友添加到群中,一次最多添加到39个,发起群聊后,系统就会自动提醒你谁是你好友,谁不是你的好友。建立群后,只要你不发消息、不修改群名,那么你的好友就不会发现你拉了他们,建立完成后直接删除并退出,无声无息就完成了一次清扫活动。

第三个方式:转账。此方式适合于你想知道的某个朋友是否拉黑了你,你可以尝试点开两人的对话页面,然后点击转账,随便输入一个数目,如果让你输入密码的就是你的好友,如果对方把你删除或者拉黑了,那么在转账的时候就会特别提醒对方不是你的好友。

第四个方式,删除好友。话不多说,直接删除,不过如果你还躺在对方的好友列表中,那么你再加她的时候就不会发生任何的提示,直接就加上了,如果对方把你删除了,那么就会出现验证页面,这个时候就会提示你对方和你并不是好友,如果是你被拉黑了,那么提示语就是“添加联系人失败,对方把你拉入黑名单”等相关提示。

热心网友 时间:2022-05-10 15:13

想知道微信朋友是否把自己删除,随便发个什么,看能否发出去,如果有个红色感叹号,说明对方已删除你。
土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 怎么看自己有没有被删除微信好友 微信怎样查看自己被好友删除了 如何判断自己是被对方拉黑还是删除 微信里怎么知道自己被好友删了,怎么查看 怎么看自己被微信好友删除了 如何看对方是不是删了自己 螺丝拧不出来小技巧 笔记本电脑后盖螺丝拧花了怎么办? 我的笔记本电脑螺丝滑丝取不下来怎么办 螺丝松了怎么办小窍门 螺丝卸不下来怎么办,丝都卸坏了,有啥妙招。 4个小窍门,帮你轻松拧下生锈螺丝钉,你会了吗 怎么卸掉小螺丝 螺丝很紧怎样才能卸下来 生锈的螺丝怎么拧开 一年级三八节写给妈妈的话80字? 写给妈妈的话 三八妇女节写给妈妈话怎么写? 写给妈妈的话12句 3.8妇女节写给妈妈的话 冰柜和冰箱有区别吗 冰柜和冰箱有什么不同 冰柜和冰箱的区别 冰箱和冰柜有什么不同 冰箱与冰箱放在一起用有影响吗?冰箱和冰柜能放一起吗 我国冰箱和冰柜都有什么品牌? 家庭购买,是冰柜好,还是冰箱好? 冰箱好还是冰柜好,哪个更实用一些 冰箱与冰柜的优缺点 excel身份证号怎么显示全部 微信转账现在只能查看三年以内的账单了,三年以外... 微信怎么查4年前的转账记录三四年以前已经删除的微... 乐卡阻尼滑道的抽屉怎样拆卸 怎么去掉地板上的蜡烛油? 怎样去除地板上的蜡 怎样去除地板上的蜡烛油 地板砖上的蜡油怎么清洗? 地板上滴了好多的蜡烛油擦不掉怎么办呀? 新地板砖上的蜡油怎样去除 石材地板上大面积蜡烛油该怎么清洗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com