一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python-itchat 統計微信群、好友數量,及原始消息數據的實例

python-itchat 統計微信群、好友數量,及原始消息數據的實例

2021-05-31 00:30zhizunyu2009 Python

今天小編就為大家分享一篇python-itchat 統計微信群、好友數量,及原始消息數據的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

參考來自:https://itchat.readthedocs.io/zh/latest/api/

python" id="highlighter_633141">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#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()

效果:

python-itchat 統計微信群、好友數量,及原始消息數據的實例

好友:

?
1
2
3
4
5
6
7
8
9
10
# 獲取自己的用戶信息,返回自己的屬性字典
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')

公眾號:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
公眾號的獲取方法為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')

群聊:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
群聊的獲取方法為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)

消息的基礎數據:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
群基礎信息:列表,每個元素是一個群,字典,列表長度就是群的數量.
 
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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产午夜大片 | 2019天天干天天操 | 91国内精品久久久久影院优播 | 99国产成人精品2021 | 韩日视频在线观看 | 精品国产爱久久 | 欧美三级一区二区 | 99er热| 91精品啪在线观看国产日本 | 天堂网www中文天堂在线 | 国产精品男人的天堂 | 精品久久久久国产免费 | 日韩色图区 | 日韩欧美高清视频 | 久久久久久久国产精品视频 | 欧美日韩一区二区三区在线观看 | 男女一级特黄a大片 | 亚洲 日韩 国产 制服 在线 | 亚洲精品动漫在线观看 | 网址在线观看你懂我意思吧免费的 | 毛片在线网址 | 好女孩韩剧免费观看 | 明星乱亚洲 | 2020国产精品视频免费 | 青青青草国产线观 | 精品日韩欧美一区二区三区在线播放 | 亚洲欧美日韩精品久久亚洲区 | 久久精品无码人妻无码AV蜜臀 | 九九精品成人免费国产片 | 四虎4hu永久免费国产精品 | 67194久久| 亚洲精品一区二区久久久久 | 狠狠色伊人亚洲综合网站色 | 91专区 | 五月天国产视频 | 男人曰女人 | 香蕉久久综合 | 91在线一区二区三区 | 黄色大片免费网站 | 日本不卡视频免费的 | 精品久久成人免费第三区 |