200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 不加群提取群成员_使用itchat分析指定微信群男女比例等成员数据

不加群提取群成员_使用itchat分析指定微信群男女比例等成员数据

时间:2024-04-21 07:23:39

相关推荐

不加群提取群成员_使用itchat分析指定微信群男女比例等成员数据

效果:

itchat

首先要安装这个库。相关教程可以参考这个百度经验。

/article/ca41422f9a06ff5eaf99ed36.html​

前提

电脑要安装python。

微信群必须保存到通讯录!!

打开IDLE,并新建文件。

代码

import itchat, timefrom itchat.content import TEXT#name = ' 'roomslist = []male=0female=0other=0len=0itchat.auto_login(enableCmdQR = False)def getroom_message(n):#获取群的username,对群成员进行分析需要用到itchat.dump_login_status() # 显示所有的群聊信息,默认是返回保存到通讯录中的群聊RoomList = itchat.search_chatrooms(name=n)if RoomList is None:print("%s group is not found!" % (name))else:return RoomList[0]['UserName']def getchatrooms():#获取群聊列表roomslist = itchat.get_chatrooms()return roomslistfor i in getchatrooms():#print(i['NickName'])roomslist.append(i['NickName'])#print(i)#print("n")name=""for n in roomslist:if(n=="吃喝玩乐脱单吐槽大会"):#填你想要分析的群名字ChatRoom = itchat.update_chatroom(getroom_message(n), detailedMember=True)name=nfor i in ChatRoom['MemberList']:#print(i)print (i['Province']+":",i['NickName']+":",i['Sex'],":",i['City']+":",i['DisplayName']+":",i["Signature"])sex = i["Sex"]if sex == 1:male += 1elif sex == 2:female += 1else:other += 1breaklen=male+female+otherprint(name)print("男性人数:",male,"占比%.4f %%:"% (male / len * 100))print("女性人数:",female,"占比%.4f %%:"% (female / len * 100))print("未注明性别人数:",other,"占比%.4f %%:"% (other / len * 100))

保存文件后。双击该文件就可以自动运行。但是出现错误会自动退出。

建议快捷键win+r,输入cmd,然后确定打开黑乎乎的控制台。然后把程序文件拖进去。点击enter运行。

如果想获取更多数据,

for i in ChatRoom['MemberList']:print(i)#print (i['Province']+":",i['NickName']+":",i['Sex'],":",i['City']+":",i['DisplayName']+":",i["Signature"])

可以把这个循环改成如上,打印成员所有数据,在重新提取。

你也可以把这个写到txt文件中。

import itchat, timefrom itchat.content import TEXT#name = ' 'roomslist = []male=0female=0other=0len=0itchat.auto_login(enableCmdQR = False)def getroom_message(n):#获取群的username,对群成员进行分析需要用到itchat.dump_login_status() # 显示所有的群聊信息,默认是返回保存到通讯录中的群聊RoomList = itchat.search_chatrooms(name=n)if RoomList is None:print("%s group is not found!" % (name))else:return RoomList[0]['UserName']def getchatrooms():#获取群聊列表roomslist = itchat.get_chatrooms()return roomslistfor i in getchatrooms():#print(i['NickName'])roomslist.append(i['NickName'])#print(i)#print("n")name=""with open('群用户名.txt', 'a', encoding='utf-8')as f:for n in roomslist:if(n=="吃喝玩乐脱单吐槽大会"):#填你想要分析的群名字ChatRoom = itchat.update_chatroom(getroom_message(n), detailedMember=True)name=nfor i in ChatRoom['MemberList']:#print(i)print ('正在写入'+i['Province']+":",i['NickName']+":",i['Sex'],":",i['City']+":",i['DisplayName']+":",i["Signature"])f.write(i['Province']+":",i['NickName']+":",i['Sex'],":",i['City']+":",i['DisplayName']+":",i["Signature"]+'n')sex = i["Sex"]if sex == 1:male += 1elif sex == 2:female += 1else:other += 1breakf.close()len=male+female+otherprint(name)print("男性人数:",male,"占比%.4f %%:"% (male / len * 100))print("女性人数:",female,"占比%.4f %%:"% (female / len * 100))print("未注明性别人数:",other,"占比%.4f %%:"% (other / len * 100))

性格索引是Sex,1代表男,2代表女。其他代表未写性格。

点个赞再走呗。点赞关注收藏三连更好啦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。