用python中的itchat框架 筛选出 指定某个微信群中 是否还有你自己的好友 并列出来
来源:互联网 发布:图像处理算法 编辑:程序博客网 时间:2024/06/05 14:43
问题:
当你新加入一个微信群,比如一个学习群,或者一个老乡群,可能你感觉一个都不认识、可能会有你认识的老乡 朋友、同学,如何从中筛选出 此微信群中哪些好友可能是你的微信好友,或者这个微信群压根就没有一个你微信好友呢?就是说你新加入了一个微信,现在让你找到这个微信群里可能会有你的好友,需要你列出来。一个个肉眼查 那是最慢的。举例:我加入了一个【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-8import 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 groupNameListif __name__ == '__main__': userNameList = getUserNameList() groupAllNicknameList = getGroupAllNicknameList() interSectionUserNameList = userNameList.intersection(groupAllNicknameList) for friend in getFriends(): if interSectionUserNameList.__contains__(friend['UserName']): print(friend['NickName']+" _________ "+ friend['RemarkName'])
这样我就得到了。原来这个群里面 我的好友还有这么几个大神也在这个群里哈哈
相关解释:
代码从优化上讲,并不是特别高效,算法比较冗余。有需要的可以帮忙简化下。速度比较慢!
阅读全文
2 0
- 用python中的itchat框架 筛选出 指定某个微信群中 是否还有你自己的好友 并列出来
- 用python的itchat库做微信智能回复
- python的itchat模块
- 用itchat爬取朋友圈好友信息
- Python实现微信好友签名词云的构建(itchat、jieba、wordcloud)
- 筛选出指定表中所有的信息
- 用itchat遇到的问题
- 用python 在输入的列表里 以分数筛选出 第一名 与 第二名- 急
- 使用 python 登录163邮箱,并列出通信录
- JS/Jquery 截取字符串中的中文字符 && 判断数组中是否还有某个字符串
- grep命令(常用:与管道搭配,筛选出带某个关键词的输出)
- Python 使用itchat 对微信好友数据进行简单分析
- Python利用itchat库向好友或者公众号发消息
- 使用python抓取微信好友个性签名并形成词云(itchat;wordcloud)
- Python微信好友信息意义及取值分析(基于itchat)
- 如何判断SQL SERVER中的某个数据库中的某个表是否有索引,并将索引名称显示出来?
- 用正则表达式,把一句话中的带有某个单位的数字扣出来
- 判断IP地址是否在某个指定的网段内
- 通讯录小项目(C语言动态版本)
- java注解
- 定位详解
- Java实现PDF打印的解决方案
- Android自定义可标记日历
- 用python中的itchat框架 筛选出 指定某个微信群中 是否还有你自己的好友 并列出来
- Jasperreports6.3.1+Jaspersoft studio6.3.1进行报表开发实战教程(一)-项目简述
- JavaScript并发模型
- 一次艰难的优化Codeforces contest/810/problem/C
- GitHub Desktop的简单使用
- Jasperreports6.3.1+Jaspersoft studio6.3.1进行报表开发实战教程(二)-报表原理简述
- Jasperreports6.3.1+Jaspersoft studio6.3.1进行报表开发实战教程(三)-传参模板设计
- Jasperreports6.3.1+Jaspersoft studio6.3.1进行报表开发实战教程(四)-java输出报表
- cobertura的使用