前言
时隔数月,周末闲着也是闲着,还是继续写公众号吧。之前出过一个微信机器人,因为比较懒再加上很多功能我用不上,所以不是很想维护。想了想不如将一些我能用到的功能独立出来,做一些小工具,目前计划中的功能如下:
- 备份微信通讯录
- 自动下载聊天里的文件、图片和语音
- 根据关键词自动同意好友请求并邀请进群聊
- 批量检测单向好友(僵尸粉)
- 训练并对接本地AI做简单问答客服 (经常一个简单的问题被问八百遍)
- 查询聊天记录并根据规则将好友归类标签 (很多因为视频号下载加我的想归类一下)
- 防撤回(不清楚能不能做到撤回提示)
- 待添加
这些功能我都能用上,所以维护起来也会积极一些,顺便分享出来给大家一起测试。
备份微信通讯录
原理就不说了,想知道的可以看这篇文章0,新版本也大差不差。因为跨平台的缘故,在4.0版本将utf16字符串改为utf8字符串,搜索字符串的时候记得不要勾选utf16。
目前官网能下载到的最新版本是 3.9.12.51
,所以就用这个版本,这个功能顺便兼容下测试版本4.0.2.28
,后面的功能不再兼容测试版本(因为4.0架构大改)。
界面
既然是小工具,没有界面用着也不是很方便,看了python很多写界面的第三方库都不是很好用,目前看评价最好的是pyqt,但是没有qt基础写起来其实很费劲。测试了很久最后选择了基于web的界面库: pywebview
1
选择它的原因很简单,因为AI写一个能直接拿来用的html很方便,我只需要关心其他逻辑,写起来不会花很多时间,再加上它可以结合playwright做一些基础的爬虫程序,后面的案例可能会用的到,上手也简单,看一下文档基本就能写一个能用的界面了。例如:
最后的界面长这样
如果出现下面的空白界面,可能是微信版本不对,或者是系统缺少Edge WebView2,如果是后者可以用main.bat
直接生成Excel文件
程序依赖Edge WebView22,所以如果是很老的系统还需要自己下载一下,Windows11如果你没刻意去卸载的话都是自带的。对于不想下载的人可以选择不使用界面直接运行python main.py
就会在当前文件夹生成一个Excel,里面有要查看的好友信息。
打包
既然都写界面了,按常理来说应该打包成exe好方便普通用户使用,但是我测试了下pyinstaller
和nuitka
都打包失败了,后面再研究吧,这里使用最原始的方法,直接打包python程序和一些依赖包,效果是一样的。然后再增加一个bat脚本,大家运行的时候运行这个bat文件就可以了。
这样打包下来的文件有点琐碎,如果想整洁一点,还可以用一些打包工具打包成压缩格式的exe,然后运行exe解压到某个目录创建快捷方式,类似于安装的过程,后面看心情弄吧。
运行main_window.bat
开始会弹出一个控制台窗口,这是bat的控制台,后面控制台会自己关闭,等待了四五秒,窗口就会显示(这里很奇怪,即使创建了线程依旧导致界面阻塞显示,不知道是bug还是我不会用)。正常应该是先显示界面,告诉用户软件已经启动,然后开始等待程序其他逻辑执行,例如查找好友列表显示在界面。等我研究下看能不能优化,这个真的影响使用体验。
目前只测试了Windows11,如果有bug的话可以反馈,我能修就修。
软件获取
公众号后台发送微信通讯录
即可,免费的,这样我什么时候想不更新就不更新。
引用链接
[0]
:https://blog.csdn.net/ljc545w/article/details/123458688
[1]
:https://github.com/r0x0r/pywebview
[2]
:https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/?form=MA13LH#download