PYTHON獲取微信羣和羣成員

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())

每日進步一點點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章