python群聊提示(python-itchat 统计微信群、好友数量,及原始消息数据的实例)
类别:脚本大全 浏览量:2364
时间:2022-01-24 00:46:10 python群聊提示
python-itchat 统计微信群、好友数量,及原始消息数据的实例参考来自: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 统计微信群、好友数量,及原始消息数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/zhizunyu2009/article/details/79000190
您可能感兴趣
- python计算csv的行数(对Python 多线程统计所有csv文件的行数方法详解)
- python扫描服务器端口(Python实现的对本地host127.0.0.1主机进行扫描端口功能示例)
- python线程自动停止了(解决Python中定时任务线程无法自动退出的问题)
- python彩色字符视频代码(python将视频转换为全字符视频)
- python3语法规则(Python3解释器知识点总结)
- python支持面向对象的程序设计(Python面向对象程序设计之类的定义与继承简单示例)
- python中test函数用法(Python TestCase中的断言方法介绍)
- python串口怎么使用(使用Python3+PyQT5+Pyserial 实现简单的串口工具方法)
- python怎么提取微信数据(使用Python+wxpy 找出微信里把你删除的好友实例)
- pythonpandas操作拆分excel(Python使用pandas和xlsxwriter读写xlsx文件的方法示例)
- python爬虫开源代码(Python实现的文轩网爬虫完整示例)
- pythonhtml文件转换成pdf库(Python3转换html到pdf的不同解决方案)
- python3有哪些内置模块(Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析)
- python环境怎么安装pip(python2.7 安装pip的方法步骤管用)
- pythonmath库引入方法(python使用thrift教程的方法示例)
- pythonlogging模块教学(详解Python logging调用Logger.info方法的处理过程)
- 庆八一,重读经典红色语录,感悟互联网发展硬道理(重读经典红色语录)
- TVB新剧《黯夜守护者》将播,陈展鹏陈炜首次合作探讨人性(TVB新剧黯夜守护者将播)
- 新晋小花被称女版吴卓羲 将取代滕丽名成为TVB新一代御用女警(新晋小花被称女版吴卓羲)
- 艺人吴卓羲10年警察生涯,演足10年阿Sir,系咩玩法(艺人吴卓羲10年警察生涯)
- 菲律宾潜水(菲律宾潜水价格)
- 泰国人妖(变性手术生殖器要割掉吗)
热门推荐
- javascript的作用域详解精简版(浅谈JavaScript 中的延迟加载属性模式)
- 织梦dedecms加固版需要付费吗(织梦dedecms系统后台安全提示去除方法)
- mysql数据类型和使用方法(MySQL数据类型全解析)
- vscode如何配置python环境(VSCode Python开发环境配置的详细步骤)
- javascript怎么编写游戏(javaScript实现网页版的弹球游戏)
- 自己搭建域名解析服务器(apache 二级域名解析实现方法)
- php有几种模式(php 策略模式原理与应用深入理解)
- mysql高级概念(MySQL 自定义变量的概念及特点)
- 织梦源码安装数据库怎么填(Mysql修改端口号 织梦DedeCMS设置教程)
- laravel权限控制(laravel-admin 在列表页添加自定义按钮的例子)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9