itchat获取群聊用户的信息

1. 安装itchat
pip install itchat

python扩展包的安装太简单了,就只需要一行命令就可以解决

2. 利用itchat获取群聊好友的信息

直接上代码,代码里面会有相关的注释的

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2019-08-22 17:30:40
# @Author  : WangGuo
# @GitHub  : https://github.com/King-Key
# @Blog    : https://blog.csdn.net/King_key
# @Website : https://king-key.github.io
# @Email   : guo_wang_113@163.com

import os
import sys
import xlsxwriter
import itchat,time
from itchat.content import TEXT

 #其中hotReload=True参数是为了短暂记忆登录状态,避免每登录一次就扫一次二维码
itchat.auto_login(hotReload=True)
#获取群聊信息
roomslist = itchat.get_chatrooms(update=True)

#插入excel
#创建excel表单
workbook=xlsxwriter.Workbook("群聊用户名单.xlsx")
for i in range(0,len(roomslist)-1):
    #根据群聊名称在表单中创建工作薄
    worksheet=workbook.add_worksheet(roomslist[i]['NickName'])
    #添加表头
    worksheet.write(0,0,"微信名称")
    worksheet.write(0,1,"群备注")
    #获取群聊用户列表
    myroom=itchat.search_chatrooms(name=roomslist[i]['NickName'])
    #获取群聊名称
    gsp=itchat.update_chatroom(myroom[0]['UserName'], detailedMember=True)
    print("群名:{} \t 人数:{}".format(roomslist[i]['NickName'],len(gsp['MemberList'])))

    nickname=[]
    displayname=[]

    for c in gsp['MemberList']:
        nickname.append(c['NickName'])
        displayname.append(c['DisplayName'])
    #将用户信息写入相应的工作薄中
    for x in range(len(gsp['MemberList'])):
        worksheet.write(x+1,0,nickname[x])
        worksheet.write(x+1,1,displayname[x])
    #输出一点提示信息
	print("sheet {} finished".format(roomslist[i]['NickName']))
#关闭工作表
workbook.close()
3. 中间出现的问题
  • 有的微信号无法登录

好像说是新申请的无法登录,可以试试能否登录网页版微信,能登录网页版微信就可以登录itchat,反之一样

  • 群聊显示不全

这里的群聊默认是只显示已经保存在通讯录里面的群聊

首发文章链接:https://king-key.github.io/2019/08/23/itchat-1/#more

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值