PyWxDump
PyWxDump copied to clipboard
在 v3.1.45 中有图片能查看,有的显示 FAILED
问题描述 我发现在 v3.1.45 中有图片能查看,有的显示 FAILED,只有在聊天界面中点击了图片才会触发下载从而让图片显示出来
预期行为 我希望能够有办法即使没有在聊天界面上点击打开图片也能在 PyWxDump 中能查看到图片
实际行为
-
我通过 api 获取到 src为
FileStorage\\MsgAttach\\90f8d59ef0cff0003430a32ea46bc7f1\\Image\\2025-06\\57f838203f9e27c96458fae7ec56f692.dat,但这个文件不存在,除非我去界面上点击图片下载 -
所以我又从数据库中查看了数据,希望能从原始数据中去下载,可是并没有下载链接,即使里面的 MD5 也找不到任何相关的匹配数据
<?xml version="1.0"?>
<msg>
<img aeskey="5167483dfc4a5736857fbd63aa4e7591" encryver="1" cdnthumbaeskey="5167483dfc4a5736857fbd63aa4e7591" cdnthumburl="3057020100044b304902010002049d69c7ca02032f59e3020422d8f07802046840a30a042463633034343939622d626435332d343865342d393837332d3438383637336563336661630204052818020201000405004c57c300" cdnthumblength="3894" cdnthumbheight="128" cdnthumbwidth="240" cdnmidheight="0" cdnmidwidth="0" cdnhdheight="0" cdnhdwidth="0" cdnmidimgurl="3057020100044b304902010002049d69c7ca02032f59e3020422d8f07802046840a30a042463633034343939622d626435332d343865342d393837332d3438383637336563336661630204052818020201000405004c57c300" length="8633" md5="925e498e38446d72ef41a360f8b7e3d8">
<secHashInfoBase64 />
<live>
<duration>0</duration>
<size>0</size>
<md5 />
<fileid />
<hdsize>0</hdsize>
<hdmd5 />
<hdfileid />
<stillimagetimems>0</stillimagetimems>
</live>
</img>
<platform_signature />
<imgdatahash />
<ImgSourceInfo>
<ImgSourceUrl />
<BizType>0</BizType>
</ImgSourceInfo>
</msg>
环境信息
- pywxdump版本: 3.1.45
- 操作系统版本:win10
- python版本:3.13.3
- 微信版本:3.0.12.51
请问大概要怎么做才能不用在界面上点击图片也能确保 PyWxDump 中能够查看图片,是不是可能从原始数据去触发下载呢,非常感谢 :)
这个基本上没有办法,想要去微信服务器把原始图片下载回来,这个工作量太大了
@johnli1988 虽然有预览图的数据,但是无法通过一些逻辑推断出原图的下载地址吗? 不然在数据量还不大的时候可以在过期前增量下载下来,避免以后查看聊天记录备份的时候看不到图片,事实上现在如果没有点击过的图片就是显示 FAILED 无法查看 😞
在4.x版本的微信中可以设置自动下载最大1024m的文件,所以我猜会把图片自动下载下来,可惜目前 pyWxDump 还不支持 #203