ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

微信聊天记录导出完整指南:wechat-dump 让安卓聊天记录一键变成可检索 HTML

微信聊天记录导出完整指南:wechat-dump 让安卓聊天记录一键变成可检索 HTML 微信聊天记录导出完整指南wechat-dump 让安卓聊天记录一键变成可检索 HTML【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump你一定遇到过这样的时刻换新手机前想把和某个人的微信聊天记录永久存下来结果翻遍设置只找到迁移想统计一下和某位老友到底聊了多少条、语音有多长微信里却没有任何入口。作为国内最主流的聊天工具微信从不提供官方导出能力你的数据被困在 App 里无法备份、无法分析、无法带走。wechat-dump正是为解决这个问题而生的安卓微信聊天记录导出工具。它从已 root 的手机中提取微信数据库与资源文件把文字、图片、语音、表情、视频解析并渲染成一份自包含的 HTML 网页就像把整个聊天窗口原样搬进浏览器。这篇文章会用一次真实的导出流程带你从零跑通它并分享那些文档里没写清的坑。为什么需要一款微信聊天记录导出工具微信的数据封闭性是这款工具存在的全部理由。官方既不开放导出也不提供任何数据分析接口用户连自己的聊天记录都无法访问。wechat-dump 的破局思路很直接绕过 App 层直接处理手机上的原始数据库文件。只要设备能拿到 root 权限就能把EnMicroMsg.db和头像、图片、语音、表情等资源目录完整搬出来再由项目自带的解析器还原成可读、可渲染的消息流。它能导出的内容相当完整文字消息保留排版和换行图片消息自动解码嵌入网页语音消息转成可播放的 mp3视频文件、表情包、引用回复、音乐分享时间戳、系统提示等辅助信息更重要的是最终产物是自包含的 HTML 文件不依赖任何网络服务离线双击就能浏览还可以随手传给任何人。上图就是一份真实导出结果左侧是对方头像和语音气泡带时长右侧是自己的绿色气泡图片消息原样展示时间线清晰分隔了不同时段的对话。整个过程没有任何手工整理全部由工具自动完成。三分钟跑通第一步环境准备先明确一个前提你需要一台已 root 的安卓手机、一条可用的 adb 连接以及一台装了 Python 3.8 以上版本的电脑Linux / macOS / Windows 加 Bash 均可。git clone https://gitcode.com/gh_mirrors/we/wechat-dump cd wechat-dump pip install -r requirements.txt除了 Python 依赖还建议提前装好两个小工具sox语音处理命令行工具负责语音消息的格式转换ffmpeg / ffprobe可选但强烈推荐用于在电脑本地解码微信的 WXGF 专有图片格式项目还内置了 Silk 语音解码器源码跑一下./third-party/compile_silk.sh编译即可语音消息能否正常导出就靠它。微信数据库提取最关键的一步环境就绪后核心工作是把微信的数据从手机里搬出来。项目提供了一个半自动脚本帮你完成大部分操作# 提取数据库和头像索引 ./android-interact.sh db # 提取头像、图片、语音、表情、视频等资源目录 ./android-interact.sh res脚本会自动在手机的/data/data/com.tencent.mm/MicroMsg下寻找那个 32 位十六进制字符组成的用户目录并把EnMicroMsg.db以及avatar、image2、voice2、emoji、video、sfs等子目录拉到本地resource目录。这里要提醒一句拿到手的EnMicroMsg.db是加密的。wechat-dump 本身不负责解密这一步需要你自己用 SQLCipher 之类的工具处理密钥通常与设备 IMEI 和微信 UIN 相关。解密后得到一个可被 sqlite3 直接打开的文件后面所有命令都基于这个已解码数据库。一键生成聊天记录 HTML完整实操演示假设你已经拿到了解码后的数据库文件EnMicroMsg.db.decoded和完整的resource目录接下来就是见证奇迹的时刻# 先看看有哪些联系人 ./list-chats.py EnMicroMsg.db.decoded # 导出某个联系人的完整聊天记录 ./dump-html.py 联系人显示名称执行后当前目录会生成output.html。用浏览器打开就能看到前面截图里那种还原度极高的聊天界面——头像、气泡、时间线、图片、语音、表情全部就位。几个常用参数值得记住# 指定输出文件 ./dump-html.py 张三 --output zhangsan.html # 只导出某个时间点之后的消息 ./dump-html.py 张三 --start 2024-01-01 00:00:00 # 消息特别多时会自动拆分成多个 html 分片输出如果只想导出语音消息项目还提供了独立脚本dump-audio.py能把某个联系人的所有语音批量转成带时长的 mp3 文件一条一条保存到指定目录。我踩过的坑WXGF 图片解码失败第一次跑通dump-html.py后我发现文字和语音都正常但很多表情和图片变成了空白占位符。排查后发现微信的图片和部分表情用的是WXGF/WXAM 专有格式普通浏览器根本不认。wechat-dump 给了两条解码路径路径一本机 ffmpeg 解码。只要电脑装了 ffmpeg 和 ffprobe工具会优先尝试本地解码单帧输出 PNG多帧输出 GIF全程自动无需干预。路径二安卓解码服务器。如果电脑上没有 ffmpeg项目还附带了一个安卓应用 WXGFDecoder安装到手机后启动服务器然后在导出命令中加上./dump-html.py 张三 --wxgf-server ws://手机IP:8080前提是电脑和手机处于同一网络。看到下面的界面说明服务器已经就绪。如果解码仍然失败多半是 WXGF 文件本身有问题或服务器地址不通可以先检查应用日志里是否出现了received binary message与After decoding记录。从能导出到会分析聊天数据的附加价值导出 HTML 只是开始。wechat-dump 的价值在于它把微信数据变成了普通 sqlite 数据库接下来你想怎么用都行。项目自带几个分析脚本几乎零成本上手# 把所有聊天导出为纯文本方便全文检索 ./dump-msg.py EnMicroMsg.db.decoded output_dir # 统计每个联系人的消息条数、字符数 ./count-message.sh output_dir # 绘制某个联系人的消息数量随时间分布图 ./plot-num-msg-by-time.py EnMicroMsg.db.decoded 联系人名称比如你想知道自己和好友哪段时间聊天最频繁、语音总共聊了几小时这两条命令就能给出答案。如果想批量导出多个联系人的聊天记录写个循环脚本调用dump-html.py即可几十个联系人也就几分钟的事。表情包缺失问题的省心解法首次导出时很多表情需要联网下载量大且慢。项目提供了预打包的表情缓存可以在官网 Release 页面找到emoji.cache.tar.bz2下载后解压到项目根目录渲染时会优先使用本地缓存速度提升非常明显也能避免个别表情因微信版本更新而下不到、只能显示占位符的情况。这份聊天记录导出工具适合谁如果你属于下面任何一类wechat-dump 都值得一试想永久保存和重要的人之间的聊天而不是靠截图一张张存想做数据归档把多年聊天记录变成可检索的本地档案好奇自己的聊天行为数据比如消息频率、语音时长、活跃时段想基于自己的聊天数据做二次开发它免费、开源、可离线使用直接处理原始数据库数据完整度是截图方案完全比不了的。唯一的门槛是 root 设备和数据库解密这两步需要一些耐心但一旦跑通后面就是复制粘贴级别的操作。现在就去克隆项目给你的微信聊天记录建一个真正的数字档案馆吧——那些不会再有新消息的对话框值得用 HTML 的形式被好好保存下来。【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表