WeChatMsg 完整教程:3 条命令导出微信聊天记录,本地永久保存
【免费下载链接】WeChatMsg提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg
微信 PC 端的聊天记录只存在本机数据库里,换机、重装、升级之后随时可能丢掉。WeChatMsg 做的事很单一:把微信本地数据库读出来,渲染成 HTML、Word、CSV、PDF 四种文件,全程在本机完成,数据不经过任何云端。你拿到的不是"迁移到另一台手机",而是一份能打开、能搜索、能归档的离线副本。
跑之前先确认这 3 件事
这一步的关键不是安装,是版本匹配。
- Python ≥ 3.8:项目脚本依赖这个版本,低于它直接报错
- 微信 PC 客户端:必须是 Windows 或 Mac 上的桌面端,手机端没有本地可读取的数据库文件
- 磁盘空间:纯文本导出一般几十 MB;如果打开媒体文件(图片、视频),体积会放大数倍,先确认剩余空间
一个坑要提前说:作者在仓库里明确写了"此项目很久没有(也不会)更新"。意思是新版微信的数据库结构如果变了,这个工具可能读不出来。如果你最近刚升级过微信,先拿一个联系人名导一次试试,别直接全量跑。
和微信官方的"聊天记录迁移"相比,两者各管一环:官方迁移解决的是"从旧手机搬到新手机",搬完你还是没有可读文件;WeChatMsg 解决的是"把数据库变成你随时能打开的文档"。两个不冲突,可以先后都用。
第一次导出:clone 到拿到文件
日常够用就两条命令,下面这段先拉代码,再分别演示"单聊转 HTML"和"群聊转 Word"。
git clone https://gitcode.com/GitHub_Trending/we/WeChatMsg cd WeChatMsg # 单个联系人 → HTML(浏览器直接打开,可搜索) python wechat_export.py --contact "张三" --format html # 群聊 → Word(适合打印或正式归档) python wechat_export.py --contact "家庭群" --format word --output "家庭群聊天记录.docx"三个参数记住就够:
| 参数 | 作用 | 备注 |
|---|---|---|
--contact | 联系人或群名 | 必须和微信里显示的名字完全一致 |
--format | 输出格式 | html/word/csv/pdf四选一 |
--output | 指定文件名 | 不填则自动生成 |
跑完去终端提示的输出路径找文件,HTML 双击用浏览器打开,Word 直接进 Office。
四种格式各管什么场景
结论:先定"这份文件给谁看、在哪用",格式自然跟着定,不用纠结。
| 格式 | 适合场景 | 底层实现 | 文件体积 |
|---|---|---|---|
| HTML | 自己翻、在线分享给朋友 | Jinja2 模板,带搜索框 | 中等 |
| Word | 打印、存档案、发领导 | python-docx | 较大 |
| CSV | 扔进 Excel 做统计、透视 | Pandas 结构化表格 | 最小 |
| 法律存证、长期不动的归档 | ReportLab 渲染 | 中等 |
如果你要"发给别人在浏览器里看",选 HTML;要"打印出来夹进档案柜",选 PDF;要"导入 Excel 按月份筛选",选 CSV——CSV 是 Pandas 直接渲染的结构化行,导入后不受排版干扰,过滤和透视都干净。
进阶组合:时间范围 + 媒体 + 定时备份
"数据量大"和"内容敏感"两个需求,靠参数组合覆盖,不用改代码。
# 只导 2024 年,带上图片视频,输出 CSV python wechat_export.py --contact "工作群" \ --start-date "2024-01-01" --end-date "2024-12-31" \ --format csv --include-media --output "2024工作记录.csv" # 加密 PDF:文件加密码 + 敏感信息脱敏 python wechat_export.py --contact "工作群" --format pdf \ --encrypt aes256 --password "your_password" --redact-sensitive安全相关的两个参数值得单独记:--encrypt aes256对整个导出文件做 AES-256 加密,--redact-sensitive自动识别手机号、身份证号并替换为掩码。文件体积过大时再加--split-by-date按日期拆分成多个文件,或--compress压缩输出。
想每周自动备份一次,把命令写进 crontab:
# 每周日 02:00 自动导出"家人"群为 HTML 0 2 * * 0 python wechat_export.py --contact "家人" --format html --output "backups/家庭聊天.html"导完之后能做什么:情感分析与年度报告
导出只是存档,把数据用起来才是第二层价值。
项目内置情感分析模块,Python 里直接调:
from wechat_sentiment import SentimentAnalyzer analyzer = SentimentAnalyzer(model_type="bert", language="zh", custom_dict="custom_emotion_words.txt") chat_data = load_chat_data("重要对话.json") results = analyzer.analyze_conversation(chat_data)输入一段对话,输出整体情感走向、情绪波动点和趋势图。另一个功能是年度聊天报告:喂一整年的数据进去,一次性拿到全年消息统计、最活跃时段、关键词热度排名、情感变化曲线和社交网络图谱。
报告输出是网页形态,支持缩放浏览,比对着 CSV 表格看直观得多。
卡住了?按这个顺序排查
九成导出失败是这三类,从上往下过:
- 数据库解密失败→ 先确认你的微信版本是否还在支持范围内(升级过的先试跑一个联系人),再检查系统文件权限,最后用管理员权限重新运行
- 导出文件过大 / 超时→ 加
--split-by-date按日期拆分,或只导文本消息(去掉--include-media) - 媒体文件缺失→ 检查微信本地媒体目录是否可读、磁盘空间是否够、命令里是否显式写了
--include-media
如果三条都排除了,去 doc/ 目录看项目说明,里面有更详细的日志定位方法。
现在就能做的第一步
挑一个你最在意的联系人,跑一条命令,十分钟出结果:
python wechat_export.py --contact "那个名字" --format html跑通之后值得往下想一层:聊天记录变成自己的结构化数据之后,能不能拿它训练一个只懂你说话习惯、只记得你生活细节的个人 AI?项目作者已经在往这个方向走了。
【免费下载链接】WeChatMsg提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考