V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
BeatenMo
V2EX  ›  分享创造

PC 微信聊天记录导出工具

  •  
  •   BeatenMo · 328 天前 · 4494 次点击
    这是一个创建于 328 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近做了一个 PC 微信的聊天记录导出工具:WechatBakTool
    简单便捷的操作流程,较好的操作体验
    基于 WPF 开发,欢迎各位大佬指教: 点这里去康康

    能做什么?

    你可以用他把聊天记录导出来备份
    可以用他来生成词云查成分,v2 前段时间的热帖,你可以很方便的生成词云啦
    当然你有心思去琢磨,可以把聊天记录导出成 txt ,喂 AI 学习:)

    其他

    目前仅支持 Windows PC 微信,其他版本暂不支持,也不考虑支持,精力有限
    手机端可以在手机端上,把记录迁移(注意不是备份)到 PC 后导出
    有什么疑问或者 idea 可以本帖留言,或项目内提 issue ,看到都会回的

    45 条回复    2023-12-20 16:06:50 +08:00
    cs1024
        1
    cs1024  
       328 天前
    好像挺好的,感谢作者
    dianso
        2
    dianso  
       328 天前
    BeatenMo
        3
    BeatenMo  
    OP
       328 天前
    @dianso 目前同类项目第一,还是关注过的
    但是 WPF 有 WPF 的优势,欢迎体验
    Eiden
        4
    Eiden  
       328 天前
    有意思
    ohmyhaha
        5
    ohmyhaha  
       328 天前
    我试试。。。我的微信太肥了。用了市面上的工具。基本卡死
    lqzhgood
        6
    lqzhgood  
       328 天前
    @ohmyhaha 现在导出的库感觉都是后端写的.... 只管导不管看~ HTML 模板直出....

    你可以试试我这个, https://v2ex.com/t/944851 嘎嘎~ 我是前端. 管导也管看, 还管统计...
    ohmyhaha
        7
    ohmyhaha  
       328 天前
    @lqzhgood 我试了一下 up 主的。我以为是从手机导出。没注意看是导出的 windows 的聊天记录。那会丢失掉不少没同步过来的聊天记录.丢失移动端聊天记录是桌面端日常了..有空也试一下你的.感谢分享
    BeatenMo
        8
    BeatenMo  
    OP
       328 天前   ❤️ 1
    @ohmyhaha 移动端记录可以使用迁移功能迁移过来,我->设置->聊天,记录迁移,注意不是备份,这样合并过来后,PC 的记录就是完整的了
    ohmyhaha
        9
    ohmyhaha  
       328 天前
    @BeatenMo 收到.我再来一次
    ohmyhaha
        10
    ohmyhaha  
       328 天前
    178G 需要迁移.打扰了.晚上回家用家里电脑测.看看效果会不会让你卡死
    565656
        11
    565656  
       328 天前
    妈的之前因为反对 hs 微信被封了,用了十几年的微信记录都在手机上,封了登不上电脑导不出来
    BeatenMo
        12
    BeatenMo  
    OP
       328 天前
    @lqzhgood 我们群友也给我推过你的作品,但是我个人觉得是略微太复杂了一些,因为现在需求上来说,大部分人只是需要一个美观的 HTML ,带个按日期搜索、内容搜索就好
    BeatenMo
        13
    BeatenMo  
    OP
       328 天前
    @565656 手机上的记录还有救,就是得自己手动解密数据,但是我目前是不支持手机端直导的
    565656
        14
    565656  
       328 天前
    @BeatenMo #13 有相关参考吗谢谢,十几年的记录真的还是挺重要的,有没有能导入现有聊天人的路子
    ohmyhaha
        15
    ohmyhaha  
       328 天前
    @BeatenMo 直接停留在 [状态:正在解密 xinfo.db]然后弹窗 no such teble:MSG
    BeatenMo
        16
    BeatenMo  
    OP
       328 天前
    @ohmyhaha 迁移完成后,重新登录一次微信后,再创建工作区
    BeatenMo
        17
    BeatenMo  
    OP
       328 天前
    @565656 安卓还是 ios ,ios 可以用备份大法,安卓是想办法取资源文件和数据库文件后,算秘钥
    IOS 参考: https://github.com/BlueMatthew/WechatExporter
    ANDROID 参考: https://github.com/greycodee/wechat-backup
    elonlo
        18
    elonlo  
       328 天前
    哎,周末刚搞了一天时间迁移,官方的太难用了
    totoro625
        19
    totoro625  
       328 天前
    感谢作者,我都没发现还有迁移到电脑这个功能

    PS:这个功能是不是有 BUG ,5Gb 聊天记录预计用时 10 小时,迁移一半还会卡死
    BeatenMo
        20
    BeatenMo  
    OP
       328 天前
    @totoro625 建议 wifi6 家庭环境下迁移会比较快一些,公司网由于有管控,可能会有问题
    zhjgo
        21
    zhjgo  
       328 天前
    @565656 #11 反对的啥,能直接打出来吗?好奇
    565656
        22
    565656  
       328 天前
    @zhjgo #21 核酸
    565656
        23
    565656  
       328 天前
    @zhjgo #21 奇了怪了 我打原句不缩写会触发 v2 警告注册天数不够,单打出来没事
    fox1751
        24
    fox1751  
       328 天前
    请问,微信端点了删除的还能导出来吗?或者手机端删除好友,Windows 端跟着对话窗口消失了的那种能导出来吗?
    BeatenMo
        25
    BeatenMo  
    OP
       328 天前
    @fox1751 这种有概率能导出,聊天记录可能还在库里的,但是不敢保证
    lqzhgood
        26
    lqzhgood  
       328 天前
    @BeatenMo #12

    我想表达的意思其实是, 很多导出的 HTML 没分页... 几百兆的 HTML 直接就卡死了.

    我的库是拆分非黑盒的, 也就是只要导出为我约定的格式( Shmily-Msg) , 直接就可以使用我前端部分(Show)~ 拥有 搜索 筛选 统计的等功能.
    // 因为以上拆分的原因, 所以也导致步骤很多, 但都是复制粘贴的操作~~ 多一步少一半用户 =.=!

    理念也是 发挥各自擅长部分, 少点轮子~

    // 迁移是会丢消息的, 我原来试过 Android -> iOS , 对方已撤回 这样的类型是会丢掉的.
    BeatenMo
        27
    BeatenMo  
    OP
       328 天前
    @lqzhgood 我理解你的意思,这个情况我已经注意到了,单纯 html 的问题现在群里反馈得也很多,太简陋了,再者数据量大了也扛不住,体验不好。
    导出一个 json 给你,你这边能直接用,这个不难,但关键是,我的目标是希望纯静态不依赖任何启动,并且我只需要时间定位和内容搜索两个功能,以及优秀的加载机制就好了。
    lqzhgood
        28
    lqzhgood  
       328 天前
    @BeatenMo #27
    我的最终产物就是纯静态的 HTML+JS+CSS 哦~
    我只捆绑了一个 85k 的 webd.exe 用来运行在 http:// 下~

    如果在 file:// 下就不能用 ajax 只能同步加载了~
    同步加载 + 全量搜索(全量加载) 应该是没办法的.
    抛开全量搜索这个功能, 使用分页还是可以流畅的 时间定位也能实现

    这也是我之前踩过的坑, 及一些思考~ 最后权衡下来 静态内容+微型 web 服务器 是最优解. 供参考
    cat9life
        29
    cat9life  
       327 天前
    赞 OP , 可以指定导出吗?比如说只导出自己的发言
    Dogergo
        30
    Dogergo  
       327 天前
    老哥,你这个会有内存溢出的可能吗,WeChatMsg 数据量大的时候二次 Loading 基本都会闪退
    KleinP
        31
    KleinP  
       327 天前
    支持一下
    BeatenMo
        32
    BeatenMo  
    OP
       327 天前
    @Dogergo 你试试就知道了,目前爆内存的情况还比较少,因为我软件内加载只加载文本,而且 C#的内存管理也比较好一些。导出现在改过以后,也比较平滑了
    BeatenMo
        33
    BeatenMo  
    OP
       327 天前
    @lqzhgood 大概评估了一下,打算用 vue 去解决是不错的选择,File 协议的问题大概有头绪,不过目前看要么服务端,要么浏览器加参数,我先看看把,也有说打包可以解决,但是试了下,好像不行,先继续看看。
    这块其实也不是很急
    BeatenMo
        34
    BeatenMo  
    OP
       327 天前
    @cat9life 场景?目前是不支持的,有需要可以加
    Dogergo
        35
    Dogergo  
       327 天前
    @BeatenMo 嗯嗯,刚才试用了一下,很顺滑,界面也很清爽,晚上写一篇推文推荐一下。但是发现导出的 TXT 文本的最后一行貌似数据丢失了?我在 ISSUE 里给你放个截图,你看下
    BeatenMo
        36
    BeatenMo  
    OP
       327 天前
    @Dogergo 好的,晚点我看看
    cat9life
        37
    cat9life  
       327 天前
    @BeatenMo #34 场景你已经提到了😁 “当然你有心思去琢磨,可以把聊天记录导出成 txt ,喂 AI 学习:)” 喂给 Ai 的应该是我自己说的话吧?还是对话形式好一些
    cat9life
        38
    cat9life  
       327 天前
    @cat9life #37 这么一说我又不太确定了,是只给自己的好。还是带着对话的..
    yicong135
        39
    yicong135  
       327 天前
    获取不到密钥
    BeatenMo
        40
    BeatenMo  
    OP
       327 天前
    @yicong135 优先公钥头,不行用户名,保底确认 version.json 里面的版本与微信一致,直接地址获取
    仅支持 64 位
    BeatenMo
        41
    BeatenMo  
    OP
       327 天前
    @cat9life 如果你是想 ai 训练处你自己来,那这个确实可以考虑,回头加上去
    xiaohuan
        42
    xiaohuan  
       327 天前
    可以导出语音吗
    BeatenMo
        43
    BeatenMo  
    OP
       327 天前
    @xiaohuan sure
    ohmyhaha
        44
    ohmyhaha  
       326 天前
    @BeatenMo 回访.亲测.好用.
    BeatenMo
        45
    BeatenMo  
    OP
       326 天前
    @ohmyhaha 感谢支持~欢迎 star
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   994 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:12 · PVG 03:12 · LAX 11:12 · JFK 14:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.