赞
踩
一个需求
需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理,
比如自动回复,再比如自动发送文件或者其他。
--- 记录于2022年08月
--- 2023年12月再次测试可用
使用Python3的第三方库wxauto
, 它适用于Windows的微信客户端
官网: https://github.com/cluic/wxauto
这篇是微信自动化工具开发系列的第四篇
代码的主要功能:
比如这里: 执行一次, 将微信群里
不同群
的所有文件同步覆盖拷贝
到C:\Users\hyh\Documents\01\
中不同的群名文件夹中
需要修改配置文件
注:这个功能不需要用
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()
保存即可。
import shutil
import os
def copy_wx_file_to_new_dir(input_dir, output_dir, wx_group_dict):
i = 0
for value in wx_group_dict.values():
i += 1
print("*" * 50)
print(f"开始处理第{i}个群")
wechat_group_id = value['id']
wechat_group_name = value['name']
temp_input_dir = input_dir + '\\' + wechat_group_id + '\\File'
temp_output_dir = output_dir + '\\' + wechat_group_name
print_temp_output_dir = temp_output_dir.replace('\\\\', '\\')
try:
print(f"开始拷贝{wechat_group_name}的文件到新文件夹:{print_temp_output_dir}")
if os.path.exists(temp_output_dir):
shutil.rmtree(temp_output_dir)
shutil.copytree(temp_input_dir, temp_output_dir)
print("拷贝结束")
except Exception as e:
print("拷贝报错:", e)
if __name__ == '__main__':
# 群名跟id对应关系,打开微信一个群,点击`聊天记录`,右击`文件`,查看其中的一个文件右击`点开文件所在文件夹`,获得其中的`id`
wx_group_dict = {
0: {
'id': '2291da65c17fd645845fdf42e0cc7664',
'name': '群名一'
},
1: {
'id': 'a9ed29cc2643a3bebcb74b4bae488af2',
'name': '群名二'
},
}
# 本地配置
output_dir = r'C:\Users\aaa\Documents\01' # 输出目录,改成本地的
input_dir = r'C:\Users\aaa\Documents\WeChat Files\wxid_123123\FileStorage\MsgAttach' # 微信默认保存目录,改成本地的
####################################################################################################################
# 函数功能: 文件拷贝到新的文件夹里面
####################################################################################################################
copy_wx_file_to_new_dir(input_dir, output_dir, wx_group_dict)
Settings
-> General
切换为中文)修改main04.py
的配置
wx_group_dict: 群名跟id对应关系,打开微信一个群,点击
聊天记录
,右击文件
,查看其中的一个文件右击点开文件所在文件夹
,获得其中的id
input_dir: 微信默认保存目录,改成本地的
output_dir: 想要保存的输出目录,改成本地的
# 群名跟id对应关系,打开微信一个群,点击`聊天记录`,右击`文件`,查看其中的一个文件右击`点开文件所在文件夹`,获得其中的`id`
# 如: C:\Users\aaa\Documents\WeChat Files\wxid_123\FileStorage\MsgAttach\12d87d05b941e072f58e5290f995db01\File\2022-07
# 其中 7bd87d05b941e072f58e5290f995db01 即为这个群对应id
wx_group_dict = {
0: {
'id': '7bd87d05b941e072f58e5290f995db01',
'name': '群名一'
},
1: {
'id': 'a9ed29cc2643a3bebcb74b4bae488af2',
'name': '群名二'
},
}
# 本地配置
output_dir = r'C:\Users\aaa\Documents\01' # 输出目录,改成本地的
input_dir = r'C:\Users\aaa\Documents\WeChat Files\wxid_123123\FileStorage\MsgAttach' # 微信默认保存目录,改成本地的
main04.py
打开cmd窗口,在cmd窗口执行:
如果没有安装第三方库,参考上面的
安装
步骤进行安装再执行下面命令
cd E:\2022Python # 修改为你的main03.py所在路径
python3 main04.py
cmd窗口输出结果为:
PS E:\2022Python> python3 .\04_保存用户的群文件到指定文件夹.py
**************************************************
开始处理第1个群
开始拷贝群名一的文件到新文件夹:C:\Users\hyh\Documents\01\群名一
拷贝结束
**************************************************
开始处理第2个群
开始拷贝群名二的文件到新文件夹:C:\Users\hyh\Documents\01\群名二
拷贝结束
C:\Users\hyh\Documents\01\
文件夹下查看到不同群名命名的文件夹这边刚开始写一下系列文章,想发展下自己的博客和微信公众号账号
如果对你有帮助,方便的话可以关注下 博客左侧的微信公众号(点击我的头像进入个人中心,位于左侧下方)
如有问题的话,也可通过公众号直接留言,这边有微信提醒,可以几小时内及时回复
也可直接在CSDN博客留言或者私信留言,这个没有微信提醒,所以这边可能一天或者几天内给回复
微信公众号所在位置:打开
个人中心
也就是这个链接
https://blog.csdn.net/xiaozi_001?type=blog
左侧下方
如有需求,
想要对微信进行一些自动化操作来提高效率:
比如
自动群发不同聊天信息到几个微信群里
自动群发不同的图片到几个微信群里
自动群发不同的文件到几个微信群里
除此之外,
目前支持对微信群信息进行二次数据挖掘获取有用信息,比如
1.配送群信息的出发地,到达地,货源等相关信息
2.兼职群信息的标题、内容、手机号等相关信息
具体根据实际需求来进行定制开发
可在个人主页看到 公众号 联系方式
如果你本身懂代码的话, 直接看第三方库
wxauto
的使用,自己来写就可以了,博客后续也会基于这个系列继续更新。
欢迎点赞留言提出问题,方便的话 点赞收藏 关注下微信公众号
只是想要一个简单的微信处理工具来满足自己的需求的话
可以微信公众号留言或者私信留言,
发下你的具体需求,这边后续根据你的需求进行下二次开发
如有需求,可关注下博客左侧的微信公众号留言或者直接私信留言
前者可以几小时内及时回复
后者可能看的不及时,大概一天或者几天内有回复
如有问题 欢迎提出
如有疑问 欢迎留言
如有作用 欢迎点赞
如有失效 欢迎留言
2024年2月 可用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。