微信获取好友、公众号、群聊的信息

原创 2017年02月18日 11:25:56

使用之前的准备工作:安装 itchat API

easy_install itchat

在使用个人微信的过程当中主要有三种账号需要获取,分别为:

  • 好友
  • 公众号
  • 群聊

itchat为这三种账号都提供了整体获取方法与搜索方法。
而群聊多出获取用户列表方法以及创建群聊、增加、删除用户的方法。
这里我们分这三种分别介绍如何使用。重点内容

好友


好友的获取方法为get_friends,将会返回完整的好友列表。

  • 其中每个好友为一个字典
  • 列表的第一项为本人的账号信息
  • 传入update键为True将可以更新好友列表并返回

好友的搜索方法为search_friends,有四种搜索方式: 1. 仅获取自己的用户信息 2. 获取特定UserName的用户信息 3. 获取备注、微信号、昵称中的任何一项等于name键值的用户 4. 获取备注、微信号、昵称分别等于相应键值的用户
其中三、四项可以一同使用,下面是示例程序:

# 获取自己的用户信息,返回自己的属性字典
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')

公众号


公众号的获取方法为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')

群聊


群聊的获取方法为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)
版权声明:本文为博主原创文章,未经博主允许不得转载。

itchat 群聊转发,自动回复

itchat笔记
  • zhizunyu2009
  • zhizunyu2009
  • 2017年08月25日 14:38
  • 470

itchat 群用户搜索的踩坑记录

itchat 给出的用户搜索有两个函数itchat.search_chatrooms 和 itchat.search_friends 其中在群内搜索的话强烈不建议用itchat.search_frie...
  • codeeer
  • codeeer
  • 2017年03月16日 18:16
  • 3609

实现微信好友列表

ListView列表控件 Android中的列表控件非常灵活,可以自定义每一个 列表项,实际上每一个列表项就是一个View,在Android定义 了3个列表控件:ListView、Expandabl...
  • razeSpirit
  • razeSpirit
  • 2014年11月27日 20:58
  • 1181

【适用于最新的微信版本】模拟登陆微信、得到好友列表、主动推送图文信息

  • 2013年12月31日 14:15
  • 2.9MB
  • 下载

模拟微信登陆和获取好友信息

use LWP::UserAgent; use Net::Ping; use Socket; use Net::SMTP; use LWP; use LWP::Simple; use LWP::Use...
  • zhaoyangjian724
  • zhaoyangjian724
  • 2016年01月23日 10:41
  • 1876

Python利用itchat库向好友或者公众号发消息

首先获得好友或者公众号的UserName 获取好友UserName#coding=utf8 import itchat itchat.auto_login(hotReload=True)#想给谁发信...
  • Co_zy
  • Co_zy
  • 2017年06月15日 21:56
  • 5257

itchatmp:完备优雅的微信公众号接口

itchatmp是一个开源的微信公众号、企业号接口,使用python调用微信公众号从未如此简单。...
  • jfmz6oFQMALUmv6f
  • jfmz6oFQMALUmv6f
  • 2017年01月06日 14:24
  • 3876

微信开发之获取用户详细列表

本文目录 : 获取access_token获取用户id列表获取单用户详细信息综合获取用户详细列表代码结构组织 php框架:Thinkphp 主题任务:微信公众平台开发,获取用户详细信息列...
  • e62ces0iem
  • e62ces0iem
  • 2017年06月08日 21:31
  • 1146

微信批量获取用户基本信息接口

接口  https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=@access_token 返回参数及输入参数说明链接官网...
  • l_Aivin
  • l_Aivin
  • 2016年05月25日 15:01
  • 5042

itchat微信自动回复消息

使用之前需要准备的工作:安装itchat API easy_install itchat#coding=utf8 import itchat,time from itchat.content imp...
  • TH_NUM
  • TH_NUM
  • 2017年02月18日 11:07
  • 4723
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微信获取好友、公众号、群聊的信息
举报原因:
原因补充:

(最多只允许输入30个字)