Python使用itchat库实现微信自动登录与消息处理详解

橘子海
橘子海
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍如何利用Python的itchat库实现网页版微信的自动登录、消息发送及自动回复功能。通过具体代码示例,演示如何生成二维码扫码登录、向文件传输助手发送消息,以及如何统计好友男女比例。此外,还涵盖了接收文字、图片、语音等多种消息类型的自动回复实现方法,帮助开发者快速掌握微信自动化交互的基础技巧。

微信自动登录与消息发送基础

近期实现了微信的一些基础功能,借助网页版微信(WeChat Web)进行扫码登录,可以抓取数据包以获取信息,并通过POST请求发送消息。

安装itchat库:pip install itchat

首先进行一个简单的试用,实现微信登录。运行下方代码会生成一个二维码,扫码后在手机端确认登录,系统会自动向‘filehelper’(即微信中的文件传输助手)发送一条消息。


import itchat

# 登录
itchat.login()
# 发送消息
itchat.send(u'你好鸭!', 'filehelper')

该程序会自动向文件传输助手发送“你好鸭!”的问候语。

除了登录和发送消息,我们还可以进行更多有趣的玩法,请继续阅读。

微信好友性别比例统计

实现微信好友男女比例统计

想要统计自己微信中好友的性别分布,操作同样简单。首先获取好友列表,然后对列表中的性别字段进行计数统计。


import itchat

# 先登录
itchat.login()

# 获取好友列表
friends = itchat.get_friends(update=True)[0:]

# 初始化计数器,有男有女,当然,有些人是不填的
male = female = other = 0

# 遍历这个列表,列表里第一位是自己,所以从"自己"之后开始计算
# 1表示男性,2女性
for i in friends[1:]:
 sex = i["Sex"]
 if sex == 1:
 male += 1
 elif sex == 2:
 female += 1
 else:
 other += 1

# 总数算上,好计算比例啊~
total = len(friends[1:])

# 好了,打印结果
print (u"男性好友:%.2f%%" % (float(male) / total * 100))
print (u"女性好友:%.2f%%" % (float(female) / total * 100))
print (u"其他:%.2f%%" % (float(other) / total * 100))

运行结果如下:

微信自动回复功能实现

实现微信自动回复功能

接下来实现类似QQ的自动回复功能。其原理是:当接收到消息时,立即发送回复,并同时向文件助手发送一条通知,从而在文件助手中统一查看收到的所有消息。

代码实现非常简洁,具体如下:


#coding=utf8
import itchat

# 自动回复
# 封装好的装饰器,当接收到的消息是Text,即文字消息
@itchat.msg_register('Text')
def text_reply(msg):
 # 当消息不是由自己发出的时候
 if not msg['FromUserName'] == myUserName:
 # 发送一条提示给文件助手
 itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %
   (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),
    msg['User']['NickName'],
    msg['Text']), 'filehelper')
 # 回复给好友
 return u'[自动回复]您好,我现在有事不在,一会再和您联系。\n已经收到您的的信息:%s\n' % (msg['Text'])

if __name__ == '__main__':
 itchat.auto_login()

 # 获取自己的UserName
 myUserName = itchat.get_friends(update=True)[0]["UserName"]
 itchat.run()

运行程序后将保持登录状态,并开启自动回复模式。在手机端查看效果如下:

 

除了文字(Text)信息外,还可以接收图片(包括表情包)、语音、名片、地理位置、分享链接以及类型为Note的消息(如撤回消息提示等)。只需将装饰器修改为以下形式,即可实现对这些类型消息的自动回复处理。


@itchat.msg_register(['Map', 'Card', 'Note', 'Sharing', 'Picture','Text'])

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。