python微信群二维码识别,用python中的itchat框架 筛选出 指定某个微信群中 是否还有你自...

用python中的itchat框架 筛选出 指定某个微信群中 是否还有你自

用python中的itchat框架 筛选出 指定某个微信群中 是否还有你自己的好友 并列出来

当你新加入一个微信群,比如一个学习群,或者一个老乡群,可能你感觉一个都不认识、可能会有你认识的老乡 朋友、同学,如何从中筛选出 此微信群中哪些好友可能是你的微信好友,或者这个微信群压根就没有一个你微信好友呢?就是说你新加入了一个微信,现在让你找到这个微信群里可能会有你的好友,需要你列出来。一个个肉眼查 那是最慢的。举例:我加入了一个【Android面试群】我想看下我的微信好友还有谁在此群里,一个个找比较难找,好友太多。筛选困难。本文假设你懂python。那么此问题好像不太难搞定。你懂python 跟微信没有关系也搞不定啊。所以你需要了解一个开源框架itchat 微信python机器人框架 通过此框架我们可以得到如下信息。1.好友列表(你的微信群所有好友)2.你加入的群的所有好友。那么问题来了。只需要看一看这两个集合中的交集部分即可。 python语法很简单 两个集合取交集 用如下方法即可。list(set(a).intersection(set(b))

A 集合与B集合的交集 会返回一个List。我们遍历此List遍得到啊,原来我的好友中有这么几个大神也在这个群里。简单思路有了。就通过itchat api得到 friends列表啊,每个字段对比下 代码就简单了!如下:

# -*- coding:utf-8 -*-

# **********************************

# ** http://weibo.com/lixiaodaoaaa #

# ****** by:lixiaodaoaaa ***********

# coding:utf-8

import itchat

# 先登录

itchat.auto_login(hotReload=True)

def getFriends():

return itchat.get_friends(update=True)[0:]

# 得到自己的所有微信好友,并将他们的昵称放到一个list中

def getUserNameList():

userNameList = set()

# 得到我的所有好友列表

for friend in getFriends():

userNameList.add(friend['UserName'])

return userNameList

# 得到指定的 微信群,获得他们的所有的昵称放到一个list中。这个指定的微信群名称包含 ["android"]

def getGroupAllNicknameList():

for chatRoom in itchat.get_chatrooms():

groupNameList = set()

if chatRoom['NickName'].__contains__("android"):

androidGroupName = chatRoom['UserName']

memberListDiction = itchat.update_chatroom(androidGroupName)

androidGroupContactlist = memberListDiction['MemberList']

for contact in androidGroupContactlist:

groupNameList.add(contact['UserName'])

return groupNameList

if __name__ == '__main__':

userNameList = getUserNameList()

groupAllNicknameList = getGroupAllNicknameList()

interSectionUserNameList = userNameList.intersection(groupAllNicknameList)

for friend in getFriends():

if interSectionUserNameList.__contains__(friend['UserName']):

print(friend['NickName']+" _________ "+ friend['RemarkName'])

a104818675aa67f89cfe4368c1e447af.png

这样我就得到了。原来这个群里面 我的好友还有这么几个大神也在这个群里哈哈

代码从优化上讲,并不是特别高效,算法比较冗余。有需要的可以帮忙简化下。速度比较慢!

用python中的itchat框架 筛选出 指定某个微信群中 是否还有你自相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值