字
字节笔记本
2026年2月22日
Python-WeChat-ItChat:微信自动化工具集
本文介绍 Python-WeChat-ItChat 项目,一个基于 itchat 库的微信自动化工具集合,包含监听微信公众号文章、获取好友信息、消息自动回复等实用功能。
项目简介
Python-WeChat-ItChat 是一个开源的微信自动化工具项目,基于 Python 的 itchat 库开发。该项目提供了 11 个实用的微信功能模块,帮助开发者实现微信消息的监听、处理和自动化操作。截至目前,该项目在 GitHub 上已获得 298 stars,Fork 数达 114。
核心功能模块
项目包含以下功能模块:
- 获取微信好友或微信群分享文章 - 自动捕获好友和群聊中分享的链接
- 获取微信公众号文章 - 抓取指定公众号的历史文章
- 监听微信公众号发送的文章 - 实时监控指定公众号的新文章推送
- 监听微信群或好友撤回的消息 - 捕获被撤回的消息内容
- 获得微信好友信息以及表图对比 - 分析好友数据并生成可视化图表
- 打印出微信被删除好友 - 检测并列出已删除你的好友
- 自动回复好友 - 设置自动回复规则
- 微信好友个性签名词云图 - 生成好友个性签名的词云可视化
- 微信好友性别比例 - 统计分析好友性别分布
- 微信群或好友撤回消息拦截 - 高级消息拦截功能
- 微信群或好友之间转发消息 - 自动消息转发
技术栈
- Python 2/3 - 主要编程语言
- itchat - 微信个人号接口库
- matplotlib - 数据可视化
- wordcloud - 词云生成
安装指南
前置要求
- Python 2.7 或 Python 3.x
- 微信个人号(已实名认证)
安装依赖
bash
# 安装 itchat 库
pip install itchat
# 安装数据可视化依赖(可选)
pip install matplotlib wordcloud使用示例
监听指定微信公众号文章
以下代码演示如何监听特定微信公众号推送的文章:
python
# coding=utf-8
import itchat
from itchat.content import *
# 处理微信公众号消息
@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING], isMpChat=True)
def text_reply(msg):
print(msg)
# 监听指定公众号:PythonCoder
if itchat.search_mps(name='PythonCoder')[0]["NickName"] == "PythonCoder":
# MsgType 49 表示分享的文章链接
if msg["MsgType"] == 49:
print("监听到指定微信公众号分享的文章链接:")
print(msg["Url"])
else:
print("微信公众号分享的不是文章")
# 可同时监听多个公众号
elif itchat.search_mps(name='非著名程序员')[0]["NickName"] == "非著名程序员":
if msg["MsgType"] == 49:
print("监听到指定微信公众号分享的文章链接:")
print(msg["Url"])
# 自动登录(启用热加载)
itchat.auto_login(hotReload=True)
# 启动消息监听
itchat.run()关键代码说明
| 代码 | 说明 |
|---|---|
@itchat.msg_register(..., isMpChat=True) | 注册公众号消息处理器 |
itchat.search_mps(name='...') | 搜索指定名称的公众号 |
msg["MsgType"] == 49 | 消息类型 49 表示图文分享 |
msg["Url"] | 获取分享的文章链接 |
hotReload=True | 启用热加载,避免重复扫码 |
注意事项
- 微信账号安全 - 频繁操作可能导致账号被限制,建议控制调用频率
- 扫码登录 - 首次使用需要手机微信扫码登录
- 消息类型 - MsgType 49 表示图文消息,其他类型需参考 itchat 文档
- Python 版本 - 示例代码使用 Python 2 语法,Python 3 用户需将
print msg改为print(msg)
项目链接
- GitHub 仓库:https://github.com/lb2281075105/Python-WeChat-ItChat
- itchat 官方文档:https://itchat.readthedocs.io/
分享: