微信有很多的不方便的操作,例如今天要解决的是:微信不会自动下载图片但图片确会失效,这就导致你过些时间搜索聊天记录想查看某个图片,点开一看显示图片过期或已被清理,因为当时没有自动下载图片,到了时间就无法下载了(好像是白天会自动下载,下午6点之后就不会)。
设置里只有一个针对文件的选项,而且最大只支持下载1024M的文件:
我还看到一些流传的偏方:先修改系统时间到图片发送的时间附近,然后再点击图片就能打开,不知道最近这个方法有没有失效。如果这个方法能实现的话,说明微信服务器在图片显示失效后并没有删除图片,只是不让你下载了。
要解决这个痛点目前只能是将所有收到的图片都自动下载到本地,不过这也引发了另一个问题:群聊太多导致微信文件夹占用大量的磁盘空间。那么还需要有个设置能配置哪些群聊的图片自动下载,毕竟大部门群聊都是吹水群,没有下载的必要。
清理存储空间
最新的微信可以清理某个群聊或者私聊中的图片、视频和文件,在设置->账号与存储->存储空间->聊天数据 管理
还能查看每个聊天中图片视频文件占用的空间,你也可以保留图片只清理其中的视频和文件,这个功能还是不错的。
使用教程
实现原理
通过RPA来实现自动下载图片几乎不可能,因为需要频繁的切换聊天界面,如果群聊多的话鼠标都忙不过来。使用hook的话就会简单的多,当监听到图片消息时,就调用下载图片的函数来下载。项目地址:https://github.com/kanadeblisst00/pywxrobot4。
当然,hook也有很多缺点:
-
- 只能支持某个版本,更新了就无法使用
-
- 技术比较容易触发风控导致封号
-
- 需要一直挂着微信监听消息,掉线期间的图片无法下载
那有没有方法能不遗漏账号掉线时的图片消息吗?有的,不去监听消息而是去读本地数据库来遍历所有图片消息,然后调用下载函数,只要图片还在有效期内就能下载,这样你甚至可以一天登一次下载当天的图片。如果大家有这个需求的话,后面再实现吧。
配置需要下载的群聊
打开界面会显示所有的群聊,你可以通过名称搜索想要的群聊,点击保存资源类型一栏,会弹出一个多选列表,勾选你需要下载的类型。其实缩略图默认会自动下载,下个版本把这个选项去掉。
配置好友需要下载的资源类型
点击菜单栏里的功能->功能设置会弹出一个多选列表,这是针对所有好友的设置。其实好友可以通过标签来分类,有需要再加吧。
配置完成后不需要重启就能生效,接下来再也不用担心你的图片找不到了。
图片导出
其实这样还是不方便保存某个群聊的所有图片,因为图片都是加密的,要是有个导出功能就好了。