python獲取微信群和群成員


首先用命令pip install itchat安裝itchat,然后進到你要獲取的群里去選擇“保存到通訊錄”那里將選項滑到右邊選上,沒有保存到通訊錄的群是取不到信息的。
以下代碼在Win7和Python3.7里調試通過。

__author__ = 'Yue Qingxuan'
# -*- coding: utf-8 -*-
import itchat
import time
import datetime
from itchat.content import TEXT
roomslist = []
itchat.auto_login(hotReload=True)


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


print("程序開始:",datetime.datetime.now())
for i in getchatrooms():
roomslist.append(i['NickName'])

with open('群用戶名.txt', 'w', encoding='utf-8')as f:
f.write("你一共加入了{0}群".format(str(len(roomslist))))
for n in roomslist:
ChatRoom = itchat.update_chatroom(getroom_message(n), detailedMember=True)
f.write('\n\n------------------------------群名稱:'+ChatRoom['NickName']+"該微信群一共有{0}個成員".format(str(len(ChatRoom['MemberList'])))+'----------------------------------\n')
#print("ChatRoom",ChatRoom)
for i in ChatRoom['MemberList']:
f.write('省份:'+i['Province']+" NickName為:"+i['NickName']+" RemarkName為:"+i['RemarkName']+'\n')
f.close()
print("程序結束:",datetime.datetime.now())


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM