itchat库
itchat 简介
itchat 是一个开源的 Python 库,用于与微信进行自动化交互。它提供了与微信平台进行交互的强大工具,使得在 Python 中进行微信消息的自动发送、接收和管理变得简单而直观。itchat 基于 Web WeChat(网页版微信)构建,允许开发者轻松实现各种微信相关功能。
因为itchat在很早之前因为网页版微信的更改导致荒废许久,这里提供修复版本,仅供学习,如果使用在其他不法领域,麻烦自己去自首。这里提供itchat库修复版文件:itchat修复版文件
我在文章开头也提供了资源。
具体如何安装更改和使用itchat,往下看。
itchat 的核心功能
itchat 提供了一些核心功能,使得微信交互变得高效且简洁。以下是主要功能的详细介绍:
登录与登出
itchat 支持通过扫描二维码进行登录,并提供了方便的登出功能。用户只需扫描二维码即可完成登录,登录后可以开始进行各种操作。
消息处理
itchat 允许用户接收和发送微信消息。可以通过回调函数处理接收到的消息,也可以使用简单的 API 发送文本消息、图片或其他类型的消息。
联系人管理
通过 itchat,用户可以获取和管理微信联系人列表。可以查看联系人信息,如昵称、备注等,并进行一些批量操作。
群聊管理
itchat 支持获取群聊信息,包括群成员列表和群消息。用户可以向群聊发送消息,并对群聊进行管理。
朋友圈与文章
itchat 允许用户获取朋友圈的最新动态,并从中提取信息。虽然这部分功能在 Web WeChat 中不总是稳定,但仍然提供了一些有用的接口。
如何安装或引入 itchat
要开始使用 itchat 库,首先需要安装它。可以通过 Python 包管理工具 pip 进行安装:
pip install itchat
安装完成后,我们需要将安装的itchat更换为修复版,我们先找到我们通过pip安装的itchat文件,我们可以通过指令找到itchat的安装路径:
pip show itchat
然后在文件管理器中找到itchat:
最后将下载的itchat修复版文件替换掉原先的itchat。
这个时候我们就可以在 Python 代码中通过以下方式引入 itchat 库:
import itchat
itchat 使用示例
以下是一些常见的 itchat 使用示例,展示了如何进行各种类型的微信操作:
登录与登出
import itchat
# 登录
itchat.auto_login()
# 登出
itchat.logout()
发送文本消息
import itchat
# 登录
itchat.auto_login()
# 发送文本消息
itchat.send('Hello, World!', toUserName='filehelper')
接收消息
import itchat
# 登录
itchat.auto_login()
# 定义处理接收到消息的函数
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
return f'You said: {msg["Text"]}'
# 运行消息接收
itchat.run()
获取联系人信息
import itchat
# 登录
itchat.auto_login()
# 获取联系人列表
friends = itchat.get_friends()
for friend in friends:
print(friend['NickName'])
发送图片消息
import itchat
# 登录
itchat.auto_login()
# 发送图片消息
itchat.send_image('path_to_image.jpg', toUserName='filehelper')
群聊管理
import itchat
# 登录
itchat.auto_login()
# 获取群聊列表
chatrooms = itchat.get_chatrooms()
for chatroom in chatrooms:
print(chatroom['NickName'])
# 向指定群聊发送消息
chatroom_name = 'Your Group Chat Name'
chatroom = itchat.search_chatrooms(name=chatroom_name)[0]
itchat.send('Hello, Group!', toUserName=chatroom['UserName'])
itchat 的应用场景
以下是 itchat 在实际应用中的几个场景的详细介绍,包括每个场景的项目要求、示例代码和结果说明:
自动回复机器人
项目要求: 编写一个 Python 脚本,使其成为一个简单的自动回复机器人。机器人能够自动回复收到的每一条文本消息。
项目代码:
import itchat
# 登录
itchat.auto_login()
# 定义自动回复函数
@itchat.msg_register(itchat.content.TEXT)
def auto_reply(msg):
return f'Auto reply: {msg["Text"]}'
# 运行
itchat.run()
结果说明: 运行此代码后,机器人会自动回复每一条收到的文本消息,回复内容为 "Auto reply: " 后接收到的消息文本。
群聊统计
项目要求: 编写一个脚本来统计每个群聊的成员数量,并将结果输出到控制台。
项目代码:
import itchat
# 登录
itchat.auto_login()
# 获取群聊列表
chatrooms = itchat.get_chatrooms()
for chatroom in chatrooms:
print(f"Group: {chatroom['NickName']}, Members: {chatroom['MemberCount']}")
结果说明: 该代码将遍历所有群聊,并输出每个群聊的名称和成员数量。非常适合进行群聊的统计和分析。
微信任务提醒机器人
项目要求: 创建一个微信任务提醒机器人,它能够在设定的时间发送任务提醒消息,帮助用户按时完成日程安排。
项目代码:
import itchat
import time
from datetime import datetime, timedelta
# 登录
itchat.auto_login()
# 设定任务提醒时间
tasks = [
{"time": "09:00", "message": "早上好!别忘了今天的会议哦!"},
{"time": "14:00", "message": "下午好!记得提交报告的截止时间快到了。"},
]
def send_reminders():
now = datetime.now()
current_time = now.strftime('%H:%M')
for task in tasks:
if task["time"] == current_time:
itchat.send(task["message"], toUserName='filehelper') # 发送到文件助手
while True:
send_reminders()
time.sleep(60) # 每分钟检查一次
结果说明: 这个脚本会定期检查当前时间是否与设定的任务提醒时间匹配。如果匹配,它将发送相应的任务提醒消息到微信的文件助手。用户可以根据需要调整提醒时间和消息内容,帮助管理日程和提高工作效率。
联系人生日提醒
项目要求: 编写一个脚本定期检查联系人的生日,并在到达生日时发送祝福消息。
项目代码:
import itchat
import time
from datetime import datetime
# 登录
itchat.auto_login()
def check_birthdays():
friends = itchat.get_friends()
today = datetime.now().strftime('%m-%d')
for friend in friends:
birthday = friend.get('Birthday', '')
if birthday.startswith(today):
itchat.send(f"Happy Birthday, {friend['NickName']}!", toUserName=friend['UserName'])
while True:
check_birthdays()
time.sleep(86400) # 每天检查一次
结果说明: 该脚本每天检查一次联系人的生日,如果发现当天有联系人的生日,将发送祝福消息。
总结
itchat 库提供了与微信进行自动化交互的强大功能,简化了与微信平台的各种操作。它不仅可以用于自动回复、联系人管理,还支持群聊管理和朋友圈动态的处理。通过这些示例代码,您可以看到 itchat 如何简化微信操作,并实现各种自动化任务。itchat库内部代码安全性可能并不高,使用可能会被微信官方检测封号,所以请使用小号,切勿使用大号。
有关 itchat 的更多信息和文档,可以访问 itchat 官方文档。希望这个介绍对您有所帮助。如果您对 itchat 或其他 Python 库有更具体的问题或需求,欢迎继续提问。关注公众号,小李会持续在该公号分享好用的 Python 库。