1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python 微信自动化工具开发系列03_自动向微信好友发送信息和文件(7月可用)

Python 微信自动化工具开发系列03_自动向微信好友发送信息和文件(7月可用)

时间:2019-10-12 19:36:11

相关推荐

Python 微信自动化工具开发系列03_自动向微信好友发送信息和文件(7月可用)

前言

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

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

官网: /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、先测试下你的账号是否还可以登录微信网页端

/

腾讯官方虽然没有正式的发表声明,但是你搜一下可以看到相关信息

大概从去年开始(时间不太确定),大部分微信账号都不可以继续登录微信网页端,只有少部分账号还可以登录。

原因未知。

2、如果可以登录微信网页版 那么你可以关闭这个博客去网上找下itchat的代码来学习运行下,

如果登录失败,那么或许你可以尝试下wxauto也就是这里所说的方法来运行下。

环境

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

注:微信客户端中文版跟英文版都可以

没什么太大区别。

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

安装

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

官网: /cluic/wxauto

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

安装第三方库wxauto

python3 --versionpython3 -m pip install wxauto -i https://pypi.tuna./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\05\01.jpg' # 修改为你的文件路径who = '文件传输助手'# 适用于中文版微信send_file_to_single_user(file=file, user=who)##################################################################################################################### 函数功能: 多个用户 每个用户发送多个文件####################################################################################################################whos = ['文件传输助手', '什么'] # 适用于中文版微信files = [r'C:\Users\Pictures\05\01.jpg',r'C:\Users\Pictures\05\02.jpg'] # 修改为你的文件路径send_files_to_mul_user(files=files, users=whos)

2. 打开微信

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

3. 执行代码

打开cmd窗口,在cmd窗口执行:

如果没有安装第三方库,参考上面的安装步骤进行安装再执行下面命令

cd E:\Python # 修改为你的main03.py所在路径python3 main03.py

4. 输出

cmd窗口输出结果为:

PS E:\Python> python3 main03.py******************************************开始向单个用户`文件传输助手`发送文件:C:\Users\Pictures\05\01.jpg发送完毕************************************************************************************开始跟文件传输助手发送文件向用户`文件传输助手`发送文件:C:\Users\Pictures\05\01.jpg向用户`文件传输助手`发送文件:C:\Users\Pictures\05\02.jpg开始跟什么发送文件向用户`什么`发送文件:C:\Users\Pictures\05\01.jpg向用户`什么`发送文件:C:\Users\Pictures\05\02.jpg发送成功******************************************

后续

这边刚开始写一下系列文章,想发展下自己的博客和微信公众号账号

如果对你有帮助,方便的话可以关注下 博客左侧的微信公众号(点击我的头像进入个人中心,位于左侧下方)

如有问题的话,也可通过公众号直接留言,这边有微信提醒,可以几小时内及时回复

也可直接在CSDN博客留言或者私信留言,这个没有微信提醒,所以这边可能一天或者几天内给回复

微信公众号所在位置:打开个人中心也就是这个链接

/xiaozi_001?type=blog

左侧下方

如有需求,

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

比如

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

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

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

如果你本身懂代码的话

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

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

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

如果你本身不懂代码

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

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

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

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

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

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

其他

如有问题 欢迎提出

如有疑问 欢迎留言

如有作用 欢迎点赞

如有失效 欢迎留言

7月 可用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。