请教一个问题:在 python 中用 itchat 抓取群成员信息时,有一个群的信息有时抓得到有时抓不到,其他群都正常。
这是什么原因?
代码如下(主体代码是基于别人的做了小修改):
#!/usr/bin/env python
# coding: utf-8
# In[1]:
import itchat
from itchat.content import TEXT
from itchat.content import *
import sys
import os
import socket
import time
import pandas as pd
import re
import datetime
# In[2]:
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)[0:]
# In[3]:
if socket.gethostname()=='xxxx':
root=r'C:\Users\xxxx'
else:
root=r'E:\OneDrive - xxx'
# In[4]:
roomslist = []
def getroom_message(n):
#获取群的 username,对群成员进行分析需要用到
itchat.dump_login_status() # 显示所有的群聊信息,默认是返回保存到通讯录中的群聊
RoomList = itchat.search_chatrooms(name=n)
if RoomList is None:
pass
#print("{0} group is not found!".format(name))
else:
# print('取得:',RoomList[0]['UserName'])
return RoomList[0]['UserName']
def getchatrooms():
#获取群聊列表
roomslist = itchat.get_chatrooms()
#print('列表',roomslist)
return roomslist
# In[5]:
for i in getchatrooms():
roomslist.append(i['NickName'])
# In[6]:
data=[]
for n in roomslist:
ChatRoom = itchat.update_chatroom(getroom_message(n), detailedMember=True)
for i in ChatRoom['MemberList']:
data.append({'群名称':ChatRoom['NickName'],
'省份':i['Province'],
'用户名':i['NickName'],
'ID':i['UserName'],
'性别':i['Sex']})
# In[7]:
df=pd.DataFrame(data)
df.to_csv((root+'\jupyter\群数据{}-{}-{}.csv').format(time.localtime().tm_year,time.localtime().tm_mon,time.localtime().tm_mday))
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.