Python 微信自动化工具开发系列03_自动向微信好友发送信息和文件(2022年10月可用)
前言
一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理,
比如自动回复,再比如自动发送文件或者其他。--- 记录于2022年07月--- 2022年10月再次测试可用
使用Python3的第三方库wxauto
, 它适用于Windows的微信客户端
官网: https://github.com/cluic/wxauto
功能
这篇是微信自动化工具开发系列的第三篇
代码的主要功能:
Python自动给微信好友发送信息,发送文件
Python自动给多个微信好友发送文件,每个好友发送多个文件
注:wxauto.py里面的第252行进行修改,否则运行会报错
微信版本 3.7.5.23 更新导致的问题
需进行下面的修改来进行修复,修改第252行为:
copydata = COPYDICT[i].replace(b'<EditElement type="0" pasteType="0"><![CDATA[ ]]>', key.encode()).replace(b'type="0"', b'type="3"')
原因
这边使用
wxauto
来进行开发,而不是itchat
,原因如下
itchat
都是之前的教程,
本质上是用的微信的网页端的接口来进行数据交互的。
如果你想要使用itchat
的代码的话,
- 1、先测试下你的账号是否还可以登录微信网页端
https://wx.qq.com/
腾讯官方虽然没有正式的发表声明,但是你搜一下可以看到相关信息
大概从去年开始(时间不太确定),大部分微信账号都不可以继续登录微信网页端,只有少部分账号还可以登录。
原因未知。
- 2、如果可以登录微信网页版 那么你可以关闭这个博客去网上找下
itchat
的代码来学习运行下,
如果登录失败,那么或许你可以尝试下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. 新建main03.py
from wxauto import *# 获取当前微信客户端
wx = WeChat()# 获取会话列表
wx.GetSessionList()########################################################################################################################
# 函数功能: 单个用户 单个文件发送
########################################################################################################################
def send_file_to_single_user(file, user):# 向某人发送文件(以`文件传输助手`为例,发送三个不同类型文件)print("******************************************")try:print(f"开始向单个用户`{user}`发送文件:{file}")wx.ChatWith(who) # 打开`文件传输助手`聊天窗口wx.SendMsg("123")wx.SendFiles(file)print("发送完毕")except Exception as e:print("发送失败,原因:", e)print("******************************************")########################################################################################################################
# 函数功能: 单个用户 单个文件发送
########################################################################################################################
def send_files_to_mul_user(files, users):print("******************************************")# 向某人发送文件(以`文件传输助手`为例,发送三个不同类型文件)for who in users:print(f"开始跟{who}发送文件")wx.ChatWith(who)for file in files:print(f"向用户`{who}`发送文件:{file}")wx.SendFiles(file)print("发送成功")print("******************************************")if __name__ == '__main__':##################################################################################################################### 函数功能: 单个用户 单个文件发送####################################################################################################################file = r'C:\Users\Pictures\202205\01.jpg' # 修改为你的文件路径who = '文件传输助手' # 适用于中文版微信send_file_to_single_user(file=file, user=who)##################################################################################################################### 函数功能: 多个用户 每个用户发送多个文件####################################################################################################################whos = ['文件传输助手', '什么'] # 适用于中文版微信files = [r'C:\Users\Pictures\202205\01.jpg',r'C:\Users\Pictures\202205\02.jpg'] # 修改为你的文件路径send_files_to_mul_user(files=files, users=whos)
2. 打开微信
- windows10下打开微信客户端 (注:如果用的英文,记得点击左下角
Settings
->General
切换为中文) - 正常扫码登录
- 打开微信窗口到前面,不要最小化或者缩小到底部菜单
3. 执行代码
打开cmd窗口,在cmd窗口执行:
如果没有安装第三方库,参考上面的
安装
步骤进行安装再执行下面命令
cd E:\2022Python # 修改为你的main03.py所在路径
python3 main03.py
4. 输出
cmd窗口输出结果为:
PS E:\2022Python> python3 main03.py******************************************
开始向单个用户`文件传输助手`发送文件:C:\Users\Pictures\202205\01.jpg
发送完毕
******************************************
******************************************
开始跟文件传输助手发送文件
向用户`文件传输助手`发送文件:C:\Users\Pictures\202205\01.jpg
向用户`文件传输助手`发送文件:C:\Users\Pictures\202205\02.jpg
开始跟什么发送文件
向用户`什么`发送文件:C:\Users\Pictures\202205\01.jpg
向用户`什么`发送文件:C:\Users\Pictures\202205\02.jpg
发送成功
******************************************
后续
这边刚开始写一下系列文章,想发展下自己的博客和微信公众号账号
如果对你有帮助,方便的话可以关注下 博客左侧的微信公众号(点击我的头像进入个人中心,位于左侧下方)
如有问题的话,也可通过公众号直接留言,这边有微信提醒,可以几小时内及时回复
也可直接在CSDN博客留言或者私信留言,这个没有微信提醒,所以这边可能一天或者几天内给回复
微信公众号所在位置:打开
个人中心
也就是这个链接
https://blog.csdn.net/xiaozi_001?type=blog
左侧下方
如有需求,
想要对微信进行一些自动化操作来提高效率:
比如
自动群发不同聊天信息到几个微信群里
自动群发不同的图片到几个微信群里
自动群发不同的文件到几个微信群里
- 如果你本身懂代码的话
如果你本身懂代码的话, 直接看第三方库
wxauto
的使用,自己来写就可以了,博客后续也会基于这个系列继续更新。
欢迎点赞留言提出问题,方便的话 点赞收藏 关注下微信公众号
- 如果你本身不懂代码
只是想要一个简单的微信处理工具来满足自己的需求的话
可以微信公众号留言或者私信留言,
发下你的具体需求,这边后续根据你的需求进行下二次开发
如有需求,可关注下博客左侧的微信公众号留言或者直接私信留言
前者可以几小时内及时回复
后者可能看的不及时,大概一天或者几天内有回复
其他
如有问题 欢迎提出
如有疑问 欢迎留言
如有作用 欢迎点赞
如有失效 欢迎留言
2022年10月 可用
Python 微信自动化工具开发系列03_自动向微信好友发送信息和文件(2022年10月可用)相关推荐
- Python 微信自动化工具开发系列02_自动获取微信多个好友聊天信息(2023年1月可用)
前言 一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理, 比如自动回复,再比如自动发送文件或者其他.--- 记录于2022年07月 ...
- Python 微信自动化工具开发系列04_所有微信群的群文件自动同步拷贝到群名对应的新文件夹中(2023年1月可用)
前言 一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理, 比如自动回复,再比如自动发送文件或者其他.--- 记录于2022年08月 ...
- 微信小程序开发系列教程三:微信小程序的调试方法
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...
- Jerry Wang的微信小程序开发系列文章
微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列四:微信小程序之控制器的初始化逻辑 ...
- .NET微信公众号开发系列 - 项目介绍
由于业务需要,需要开发微信公众号.不过没有查询到比较有用的信息,只能自己摸索前进. 写这个微信公众号开发系列,希望能提供一些帮助. 需要的功能有创建订单.查看订单.还有基本的用户管理. 由于团队人员有 ...
- 微信开发者工具开发小程序代码自动热加载/重载/部署
前言 微信小程序基础库 2.12.2 默认情况下,使用微信开发者工具开发小程序时,每次保存代码都会重启微信小程序,即每次都模拟器都返回到首页.有没有办法既更新模拟器中的小程序,又保持 在当前页呢?有的 ...
- 微信小程序开发系列五:微信小程序中如何响应用户输入事件
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- 微信小程序开发系列四:微信小程序之控制器的初始化逻辑
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...
- 微信小程序开发系列二:微信小程序的视图设计
大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...
- 【微信小程序开发•系列文章一】入门
本系统文章主要有以下几篇: <[微信小程序开发•系列文章一]入门> <[微信小程序开发•系列文章二]视图层> <[微信小程序开发•系列文章三]数据层> <[微 ...
最新文章
- hdu4067 费用流(混合欧拉的宽展和延伸)
- 笔记-项目范围管理-工作说明书与项目范围说明书的区别
- 从程序架构提升安全性
- java解析xml生成表格_JAVA读取XML文件并解析 以及 JAVA生成文本文件输出
- fn:replace()函数
- JS重写Alert方法
- 日常问题 - 远程服务器运行Tomcat出现卡顿阻塞
- 杭州湾跨海大桥视频上云,夯实智慧高速“云基建
- 30年前的中专相当于现在什么学历?比现在一本厉害吗?
- Vue之单文件组件的数据传递,axios请求数据及路由router
- R学习笔记-安装R和RStudio,注意RStudio的版本需要与操作系统版本匹配
- 【题解】Luogu P3871 [TJOI2010]中位数
- DNS在什么情况下才能动态更新|活动目录集成的dns区域
- 用flash cs4 as 绘制图形、 绘制文本 、创建超链接文本
- python文件写入方式_Python写入文件的方式
- 人人网惨遭全网下架,但是我并不同情他!
- 180721 逆向-极客巅峰(Re)
- 生产者消费者模式剖析
- 非oracle用户连接数据库出现ORA-12514
- 他是这么解决视频版权的,南京小伙做视频剪辑,一个月赚了7k多
热门文章
- 37wan《武易》全新系统机密放送
- Android 开源绘画板项目 (ScaleSketchPadDemo)
- 视觉slam十四讲 第二版 pdf_第二版SLAM上帝视角,它来啦!!!
- hrbust/哈理工oj 1787 New Fibonacci Number【欧拉降幂+矩阵快速幂】
- MYSQL基础:mysql客户端工具
- c#迁移文件的时候提示:对路径xxx的访问被拒绝
- AutoCAD2012官方原版软件下载
- smartadmin mysql_smart-admin/README.md at master · Rainforestor/smart-admin · GitHub
- C语言--三次方程数值求解
- 机器学习笔记 - 使用Keras + Unet 进行图像分割