参考来自:https://itchat.readthedocs.io/zh/latest/api/
#coding=utf-8 import itchat from itchat.content import TEXT from itchat.content import * import sys import time import re reload(sys) sys.setdefaultencoding('utf8') import os @itchat.msg_register([TEXT,PICTURE,FRIENDS,CARD,MAP,SHARING,RECORDING,ATTACHMENT,VIDEO],isGroupChat=True) def receive_msg(msg): groups = itchat.get_chatrooms(update=True) friends = itchat.get_friends(update=True) print "群数量:",len(groups) for i in range(0,len(groups)): print i+1,"--",groups[i]['NickName'],groups[i]['MemberCount'],"人" print "好友数量",len(friends)-1 for f in range(1,len(friends)):#第0个好友是自己,不统计 if friends[f]['RemarkName']: # 优先使用好友的备注名称,没有则使用昵称 user_name = friends[f]['RemarkName'] else: user_name = friends[f]['NickName'] sex = friends[f]['Sex'] print f,"--",user_name,sex itchat.auto_login(hotReload=True) itchat.run()
效果:
好友:
# 获取自己的用户信息,返回自己的属性字典 itchat.search_friends() # 获取特定UserName的用户信息 itchat.search_friends(userName='@abcdefg1234567') # 获取任何一项等于name键值的用户 itchat.search_friends(name='wxceshi') # 获取分别对应相应键值的用户 itchat.search_friends(wechatAccount='wceshi') # 三、四项功能可以一同使用 itchat.search_friends(name='wxceshi', wechatAccount='wcceshi')
公众号:
公众号的获取方法为get_mps,将会返回完整的公众号列表。 其中每个公众号为一个字典 传入update键为True将可以更新公众号列表并返回 import itchat itchat.auto_login(hotReload=True) mpsList=itchat.get_mps(update=True)[1:] total=0 for it in mpsList: print(it['NickName']+':'+it['Signature']) total=total+1 print('公众号的数目是%d'%total) 公众号的搜索方法为search_mps,有两种搜索方法: 1. 获取特定UserName的公众号 2. 获取名字中含有特定字符的公众号 如果两项都做了特定,将会仅返回特定UserName的公众号,下面是示例程序: # 获取特定UserName的公众号,返回值为一个字典 itchat.search_mps(userName='@abcdefg1234567') # 获取名字中含有特定字符的公众号,返回值为一个字典的列表 itchat.search_mps(name='gzh') # 以下方法相当于仅特定了UserName itchat.search_mps(userName='@abcdefg1234567', name='gzh')
群聊:
群聊的获取方法为get_chatrooms,将会返回完整的群聊列表。 其中每个群聊为一个字典 传入update键为True将可以更新群聊列表并返回通讯录中保存的群聊列表 群聊列表为后台自动更新,如果中途意外退出存在极小的概率产生本地群聊消息与后台不同步 为了保证群聊信息在热启动中可以被正确的加载,即使不需要持续在线的程序也需要运行itchat.run() 如果不想要运行上述命令,请在退出程序前调用-itchat.dump_login_status(),更新热拔插需要的信息 import itchat itchat.auto_login(hotReload=True) #itchat.run() mpsList=itchat.get_chatrooms(update=True)[1:] total=0 for it in mpsList: print(it['NickName']) total=total+1 print('群聊的数目是%d'%total) #显示所有的群聊,包括未保存在通讯录中的,如果去掉则只是显示在通讯录中保存的 itchat.dump_login_status() 群聊的搜索方法为search_chatrooms,有两种搜索方法: 1. 获取特定UserName的群聊 2. 获取名字中含有特定字符的群聊 如果两项都做了特定,将会仅返回特定UserName的群聊,下面是示例程序: # 获取特定UserName的群聊,返回值为一个字典 itchat.search_chatrooms(userName='@abcdefg1234567') # 获取名字中含有特定字符的群聊,返回值为一个字典的列表 itchat.search_chatrooms(name='LittleCoder') # 以下方法相当于仅特定了UserName itchat.search_chatrooms(userName='@abcdefg1234567', name='LittleCoder') 群聊用户列表的获取方法为update_chatroom。 群聊在首次获取中不会获取群聊的用户列表,所以需要调用该命令才能获取群聊的成员 该方法需要传入群聊的UserName,返回特定群聊的用户列表 memberList = itchat.update_chatroom('bcdefg67') 创建群聊、增加、删除群聊用户的方法如下所示: 由于之前通过群聊检测是否被好友拉黑的程序,目前这三个方法都被严格限制了使用频率 删除群聊需要本账号为群管理员,否则会失败 将用户加入群聊有直接加入与发送邀请,通过useInvitation设置 超过40人的群聊无法使用直接加入的加入方式,特别注意 memberList = itchat.get_friends()[1:] # 创建群聊,topic键值为群聊名 chatroomUserName = itchat.create_chatroom(memberList, 'test chatroom') # 删除群聊内的用户 itchat.delete_member_from_chatroom(chatroomUserName, memberList[0]) # 增加用户进入群聊 itchat.add_member_into_chatroom(chatroomUserName, memberList[0], useInvitation=False)
消息的基础数据:
群基础信息:列表,每个元素是一个群,字典,列表长度就是群的数量. UserName -- @@410e35039bc309eaa37e444fc932cf1f0d11b6e79d9eff610fc971701940778b City -- MemberList -- [{u'UserName': u'@2a1f4757bbedbbc1c58be274655e7e69823fcf8288bb50aa0ec9769698b883f5', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 0, u'RemarkPYInitial': u'', u'PYQuanPin': u'', u'MemberStatus': 0, u'NickName': u'\u82b1\u82e5\u96e8', u'AttrStatus': 233509}, {u'UserName': u'@91271c0895c75b4290c4d71673040978b50c1d81005b768728497bbcfc9657f3', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 0, u'RemarkPYInitial': u'', u'PYQuanPin': u'', u'MemberStatus': 0, u'NickName': u'alise', u'AttrStatus': 235617}, {u'UserName': u'@6151801ec2a6333e7fd5530f812c931e14d9220477756796013ae3cbab54b64f', u'RemarkPYQuanPin': u'', u'DisplayName': u'\u81f3\u5c0a\u7389-\u5c0f\u9e1f\u98de', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 0, u'RemarkPYInitial': u'', u'PYQuanPin': u'', u'MemberStatus': 0, u'NickName': u'\u81f3\u5c0a\u7389', u'AttrStatus': 102525}] VerifyFlag -- 0 Province -- KeyWord -- RemarkName -- self -- {u'UserName': u'@2a1f4757bbedbbc1c58be274655e7e69823fcf8288bb50aa0ec9769698b883f5', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 0, u'RemarkPYInitial': u'', u'PYQuanPin': u'', u'MemberStatus': 0, u'NickName': u'\u82b1\u82e5\u96e8', u'AttrStatus': 233509} isAdmin -- None ContactType -- 0 HideInputBarFlag -- 0 AttrStatus -- 0 SnsFlag -- 0 MemberCount -- 3 OwnerUin -- 0 Alias -- Signature -- ContactFlag -- 2 NickName -- 一只小鸟飞 ChatRoomOwner -- @2a1f4757bbedbbc1c58be274655e7e69823fcf8288bb50aa0ec9769698b883f5 HeadImgUrl -- /cgi-bin/mmwebwx-bin/webwxgetheadimg?seq=0&username=@@410e35039bc309eaa37e444fc932cf1f0d11b6e79d9eff610fc971701940778b&skey=@crypt_f707bac_06ef94d1305fd1ebf9192f58bdee290c Sex -- 0 Statues -- 1 HeadImgUpdateFlag -- 1 好友基础信息:列表,每个元素是一个好友字典,列表长度即好友数量。(自己是第0个好友) UserName -- @6151801ec2a6333e7fd5530f812c931e14d9220477756796013ae3cbab54b64f City -- 朝阳 DisplayName -- UniFriend -- 0 MemberList -- [] PYQuanPin -- zhizunyu RemarkPYInitial -- ZZYBZ Sex -- 1 AppAccountFlag -- 0 VerifyFlag -- 0 Province -- 北京 KeyWord -- RemarkName -- 至尊玉备注 PYInitial -- ZZY IsOwner -- 0 ChatRoomId -- 0 ContactType -- 0 HideInputBarFlag -- 0 EncryChatRoomId -- AttrStatus -- 102525 SnsFlag -- 17 MemberCount -- 0 OwnerUin -- 0 Alias -- Signature -- 本来无一物,何处惹尘埃。 ContactFlag -- 3 NickName -- 至尊玉 ChatRoomOwner -- RemarkPYQuanPin -- zhizunyubeizhu HeadImgUrl -- /cgi-bin/mmwebwx-bin/webwxgeticon?seq=656993295&username=@6151801ec2a6333e7fd5530f812c931e14d9220477756796013ae3cbab54b64f&skey=@crypt_f707bac_06ef94d1305fd1ebf9192f58bdee290c Uin -- 0 StarFriend -- 0 Statues -- 0 HeadImgUpdateFlag -- 1 好友消息:每条消息是一个字典。消息内容:msg['Content'] AppInfo -- {u'Type': 0, u'AppID': u''} ImgWidth -- 0 FromUserName -- @6151801ec2a6333e7fd5530f812c931e14d9220477756796013ae3cbab54b64f PlayLength -- 0 OriContent -- ImgStatus -- 1 RecommendInfo -- {u'UserName': u'', u'Province': u'', u'City': u'', u'Scene': 0, u'QQNum': 0, u'Content': u'', u'Alias': u'', u'OpCode': 0, u'Signature': u'', u'Ticket': u'', u'Sex': 0, u'NickName': u'', u'AttrStatus': 0, u'VerifyFlag': 0} Content -- This is friend msg MsgType -- 1 ImgHeight -- 0 StatusNotifyUserName -- StatusNotifyCode -- 0 Type -- Text NewMsgId -- 4967860504982482776 Status -- 3 VoiceLength -- 0 MediaId -- MsgId -- 4967860504982482776 ToUserName -- @2a1f4757bbedbbc1c58be274655e7e69823fcf8288bb50aa0ec9769698b883f5 ForwardFlag -- 0 FileName -- Url -- HasProductId -- 0 FileSize -- AppMsgType -- 0 Text -- This is friend msg Ticket -- CreateTime -- 1515398261 EncryFileName -- SubMsgType -- 0 群聊消息: ActualNickName -- 至尊玉-小鸟飞 #用户在群内的昵称 AppInfo -- {u'Type': 0, u'AppID': u''} ImgWidth -- 0 FromUserName -- @@410e35039bc309eaa37e444fc932cf1f0d11b6e79d9eff610fc971701940778b #来个哪个群聊 PlayLength -- 0 OriContent -- ImgStatus -- 1 RecommendInfo -- {u'UserName': u'', u'Province': u'', u'City': u'', u'Scene': 0, u'QQNum': 0, u'Content': u'', u'Alias': u'', u'OpCode': 0, u'Signature': u'', u'Ticket': u'', u'Sex': 0, u'NickName': u'', u'AttrStatus': 0, u'VerifyFlag': 0} Content -- This is a group msg MsgType -- 1 CreateTime -- 1515398528 ImgHeight -- 0 StatusNotifyUserName -- StatusNotifyCode -- 0 Type -- Text NewMsgId -- 4737322597592466590 Status -- 3 VoiceLength -- 0 MediaId -- MsgId -- 4737322597592466590 ToUserName -- @2a1f4757bbedbbc1c58be274655e7e69823fcf8288bb50aa0ec9769698b883f5 #发给自己的 ForwardFlag -- 0 FileName -- Url -- HasProductId -- 0 FileSize -- AppMsgType -- 0 Text -- This is a group msg ActualUserName -- @6151801ec2a6333e7fd5530f812c931e14d9220477756796013ae3cbab54b64f #谁发的消息 Ticket -- isAt -- False EncryFileName -- SubMsgType -- 0
以上这篇python-itchat 统计微信群、好友数量,及原始消息数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月26日
2024年11月26日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]