Python 微信自动化工具开发系列04_所有微信群的群文件自动同步拷贝到群名对应的新文件夹中(2023年7月可用)

前言

一个需求

需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理,
比如自动回复,再比如自动发送文件或者其他。

																--- 记录于2022年08月
																--- 2023年7月再次测试可用

使用Python3的第三方库wxauto, 它适用于Windows的微信客户端

官网: https://github.com/cluic/wxauto


功能

这篇是微信自动化工具开发系列的第四篇

代码的主要功能

  • 微信每个群的群文件文件按照群名划分拷贝到新的文件夹里面

比如这里: 执行一次, 将微信群里不同群的所有文件同步覆盖拷贝C:\Users\hyh\Documents\01\不同的群名文件夹中
需要修改配置文件

注:这个功能不需要用wxauto


环境

Windows 10
Python 3.8.10
Windows 10的微信客户端版本:3.7.5.23 (中文版本)

注:微信客户端中文版跟英文版都可以
没什么太大区别。

建议使用中文版本,英文版本现在微信更新后出现了Bug.

安装

安装Python3的第三方库wxauto,具体步骤如下

官网: https://github.com/cluic/wxauto

在cmd窗口执行下面命令进行安装

  • 安装第三方库wxauto
python3 --version
python3 -m pip install wxauto -i https://pypi.tuna.tsinghua.edu.cn/simple 
  • 查看wxauto是否安装成功
python3 -c "import wxauto; print(wxauto.VERSION)"

使用步骤

1. 新建main04.py

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)
    

2. 打开微信

  • windows10下打开微信客户端 (注:如果用的英文,记得点击左下角Settings-> General 切换为中文)
  • 正常扫码登录
  • 打开微信窗口到前面,不要最小化或者缩小到底部菜单

3. 执行代码

  • 修改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

4. 输出

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
左侧下方

如有需求,

想要对微信进行一些自动化操作来提高效率:

比如

  • 自动群发不同聊天信息到几个微信群里

  • 自动群发不同的图片到几个微信群里

  • 自动群发不同的文件到几个微信群里


  • 如果你本身懂代码的话

如果你本身懂代码的话, 直接看第三方库wxauto的使用,自己来写就可以了,

博客后续也会基于这个系列继续更新。

欢迎点赞留言提出问题,方便的话 点赞收藏 关注下微信公众号

  • 如果你本身不懂代码

只是想要一个简单的微信处理工具来满足自己的需求的话

可以微信公众号留言或者私信留言,

发下你的具体需求,这边后续根据你的需求进行下二次开发

如有需求,可关注下博客左侧的微信公众号留言或者直接私信留言

前者可以几小时内及时回复

后者可能看的不及时,大概一天或者几天内有回复


其他

如有问题 欢迎提出

如有疑问 欢迎留言

如有作用 欢迎点赞

如有失效 欢迎留言

2023年7月 可用

你可能感兴趣的:(微信自动化工具开发系列,python,微信,自动化)