首页 > Python资料 博客日记
Python 微信自动化工具开发系列01_自动获取微信聊天信息(2024年2月可用 支持3.9最新微信)
2024-03-09 15:00:04Python资料围观774次
前言
一个需求
需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理,
比如自动回复,再比如自动发送文件或者其他。
这边使用Python的第三方库`wxauto`来进行开发,而不是`itchat`
--- 记录于2022年07月
--- 2024年1月再次测试可用(目前支持官方Wechat 3.9最新版本)
使用Python3的第三方库wxauto
, 它适用于Windows的微信客户端
官网: https://github.com/cluic/wxauto
原因
这边使用
wxauto
来进行开发,而不是itchat
,原因如下
itchat
都是之前的教程,
本质上是用的微信的网页端的接口来进行数据交互的。
如果你想要使用itchat
的代码的话,
- 1、先测试下你的账号是否还可以登录微信网页端
https://wx.qq.com/
腾讯官方虽然没有正式的发表声明,但是你搜一下可以看到相关信息
大概从去年开始(时间不太确定),大部分微信账号都不可以继续登录微信网页端,只有少部分账号还可以登录。
原因未知。
- 2、如果可以登录微信网页版 那么你可以关闭这个博客去网上找下
itchat
的代码来学习运行下,
如果登录失败,那么或许你可以尝试下wxauto
也就是这里所说的方法来运行下。
环境
Windows 10
Python 3.8.10
Windows 10的微信客户端版本:3.9.9.43 (英文版本)
注:微信客户端中文版跟英文版都可以
没什么太大区别。
目前wxauto对wechat 3.9版本已支持,可以使用wechat 最新版本的
wechat 3.7 版本的安装包(可以网上寻找):https://wechat-for-windows.en.uptodown.com/windows/download
安装
安装Python3的第三方库
wxauto
,具体步骤如下
官网: https://github.com/cluic/wxauto
在cmd窗口执行下面命令进行安装
- 安装第三方库
wxauto
之前安装过的请卸载重新安装
python3 --version
python3 -m pip uninstall wxauto
python3 -m pip install wxauto -i https://pypi.tuna.tsinghua.edu.cn/simple
- 查看
wxauto
是否安装成功
python3 -c "import wxauto; print(wxauto.VERSION)"
报错处理
- 运行报错
raise LookupError('Find Control Timeout({}s): {}'.format(maxSearchSeconds, self.GetSearchPropertiesStr()))
LookupError: Find Control Timeout(10.0s): {Name: '输入', ControlType: EditControl}
- 解决方法
修改本地的第三方库wxauto.py
第145行self.EditMsg = self.UiaAPI.EditControl(Name='输入')
# self.EditMsg = self.UiaAPI.EditControl(Name='输入')
# 修改为了
self.EditMsg = self.UiaAPI.ButtonControl(Name='发送文件').GetParentControl().GetNextSiblingControl().GetFirstChildControl()
保存即可。
使用步骤
1. 新建main.py
这边第一篇只介绍获取默认窗口的聊天信息
from wxauto import *
# 获取当前微信客户端
wx = WeChat()
# 获取会话列表
wx.GetSessionList()
###############################
# 1、获取默认窗口聊天信息
###############################
def get_default_window_messages():
# 默认是微信窗口当前选中的窗口
# 输出当前聊天窗口聊天消息
msgs = wx.GetAllMessage
for msg in msgs:
print('%s : %s' % (msg[0], msg[1]))
# 获取更多聊天记录
wx.LoadMoreMessage()
msgs = wx.GetAllMessage
for msg in msgs:
print('%s : %s' % (msg[0], msg[1]))
if __name__ == '__main__':
get_default_window_messages()
2. 打开微信
- windows10下打开微信客户端
- 正常扫码登录
- 打开微信窗口到前面,不要最小化或者缩小到底部菜单
3. 执行代码
打开cmd窗口,在cmd窗口执行:
如果没有安装第三方库,参考上面的
安装
步骤进行安装再执行下面命令
cd 你的main.py所在路径
python3 main.py
4. 输出
cmd窗口正常输出你默认微信窗口的聊天信息
后续
这边刚开始写一下系列文章,想发展下自己的博客
如有需求,
想要对微信进行一些自动化操作来提高效率:
比如
自动群发不同聊天信息到几个微信群里
自动群发不同的图片到几个微信群里
自动群发不同的文件到几个微信群里
- 如果你本身懂代码的话
如果你本身懂代码的话, 直接看第三方库
wxauto
的使用,自己来写就可以了,博客后续也会基于这个系列继续更新。
欢迎点赞留言提出问题,方便的话 点赞收藏
- 如果你本身不懂代码
只是想要一个简单的微信处理工具来满足自己的需求的话
可以留言或者私信留言,
发下你的具体需求,这边后续根据你的需求进行下二次开发 (200RMB~600RMB等)
除此之外,
目前支持对微信群信息进行二次数据挖掘获取有用信息,比如
1.配送群信息的出发地,到达地,货源等相关信息
2.兼职群信息的标题、内容、手机号等相关信息
具体根据实际需求来进行定制开发
可在个人主页看到 公众号 联系方式
后续会发系列教程 如有需求欢迎沟通
其他
如有问题 欢迎提出
如有疑问 欢迎留言
如有作用 欢迎点赞
如有失效 欢迎留言
2024年2月 可用
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj