备份微信通讯录(好友列表),支持微信4.0

前言

时隔数月,周末闲着也是闲着,还是继续写公众号吧。之前出过一个微信机器人,因为比较懒再加上很多功能我用不上,所以不是很想维护。想了想不如将一些我能用到的功能独立出来,做一些小工具,目前计划中的功能如下:

  • 备份微信通讯录
  • 自动下载聊天里的文件、图片和语音
  • 根据关键词自动同意好友请求并邀请进群聊
  • 批量检测单向好友(僵尸粉)
  • 训练并对接本地AI做简单问答客服 (经常一个简单的问题被问八百遍)
  • 查询聊天记录并根据规则将好友归类标签 (很多因为视频号下载加我的想归类一下)
  • 防撤回(不清楚能不能做到撤回提示)
  • 待添加

这些功能我都能用上,所以维护起来也会积极一些,顺便分享出来给大家一起测试。

备份微信通讯录

原理就不说了,想知道的可以看这篇文章0,新版本也大差不差。因为跨平台的缘故,在4.0版本将utf16字符串改为utf8字符串,搜索字符串的时候记得不要勾选utf16。

目前官网能下载到的最新版本是 3.9.12.51,所以就用这个版本,这个功能顺便兼容下测试版本4.0.2.28,后面的功能不再兼容测试版本(因为4.0架构大改)。

界面

既然是小工具,没有界面用着也不是很方便,看了python很多写界面的第三方库都不是很好用,目前看评价最好的是pyqt,但是没有qt基础写起来其实很费劲。测试了很久最后选择了基于web的界面库: pywebview1

选择它的原因很简单,因为AI写一个能直接拿来用的html很方便,我只需要关心其他逻辑,写起来不会花很多时间,再加上它可以结合playwright做一些基础的爬虫程序,后面的案例可能会用的到,上手也简单,看一下文档基本就能写一个能用的界面了。例如:

最后的界面长这样

如果出现下面的空白界面,可能是微信版本不对,或者是系统缺少Edge WebView2,如果是后者可以用main.bat直接生成Excel文件

程序依赖Edge WebView22,所以如果是很老的系统还需要自己下载一下,Windows11如果你没刻意去卸载的话都是自带的。对于不想下载的人可以选择不使用界面直接运行python main.py就会在当前文件夹生成一个Excel,里面有要查看的好友信息。

打包

既然都写界面了,按常理来说应该打包成exe好方便普通用户使用,但是我测试了下pyinstallernuitka都打包失败了,后面再研究吧,这里使用最原始的方法,直接打包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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值