本文的最终目的是将手机微信的聊天记录导出到电脑里,变成txt文本文件,然后对其进行分析。

网上有一些工具也可以完成这个功能,但是基本都是付费的。手动操作的话,找了很多的博客,基本没有完全有效的。最终找到一篇很靠谱的教程:

小米手机提取微信聊天记录数据库 · Issue #1 · Heyxk/notes

本文基本参考这篇进行整理。

首先上我的github把所有需要的文件下载下来:

godweiyang/wechat-explore

用法稍后说明。

导出手机微信数据库

首先要做的第一步就是将手机端的微信数据库.db文件导出到电脑上。

小米手机

小米的话做法很简单,不需要进行root。

1. 首先进入手机的设置-更多设置-备份和重置-本地备份,输入密码,点击新建备份,把两个勾去掉,点击软件程序右边的尖括号,选择微信,点击确定,点击开始备份,等待完成就行了。

v2-48de727069b5c2e25ace62616863f131_b.jpg

2.然后将手机连接电脑,打开手机目录下的MIUI/backup/AllBackup/yyyymmdd_xxxxxx/文件夹,将.bak文件拷贝到电脑上,我这里重命名为了com.tencent.mm.bak

v2-1cd44519fa93db159881d07c5c96c761_b.jpg

3.然后用任意一种压缩包软件(我用的是7zip)打开这个com.tencent.mm.bak文件,并且将apps\com.tencent.mm\r\MicroMsg\systemInfo.cfgapps\com.tencent.mm\r\MicroMsg\CompatibleInfo.cfgapps\com.tencent.mm\r\MicroMsg\xxxx\EnMicroMsg.db三个文件解压到电脑上。这里xxxx是一串随机的字母,代表你的微信用户,每个人不一样,一般是最大的那个文件夹,我这里是下图所示文件夹:

v2-d111a0e9d6f7afd3a08f0bc7a7e71ea9_b.jpg

其他手机通用做法

其他手机可能没有这么方便,一种办法是root之后去/data/data/com.tencent.mm/MicroMsg下面找这三个文件,但是很多人是不会去root的,所以介绍另一种方法。

首先电脑上安装一款安卓模拟器,然后里面下载手机微信并登录,最重要的一步就是将手机端聊天记录备份到电脑端微信,然后将电脑端聊天记录恢复到安卓虚拟器里的微信,这个功能是微信自带的,应该没有什么难度。

然后对安卓虚拟器进行root,这个也是设置里就有的,最后就能把三个文件都拷贝到电脑上了。

破解数据库密码

4.将上面的所有文件全部放在一个目录下。

v2-51dba8e9e47cd48db05b18d5a5460548_b.jpg

5.然后命令行运行如下代码:

        javac IMEI.java
java IMEI systemInfo.cfg CompatibleInfo.cfg
      

第三行就是数据库的密码了。

v2-2bde82a97265589736779c18342501fd_b.jpg

导出聊天记录

6.然后打开sqlcipher.exe软件,用它打开EnMicroMsg.db数据库,输入第五步得到的密码。

v2-debb23ad4f9941eb90f37dfee28f1283_b.jpg

v2-bfa45176bd8a07cce448756a4b91ef46_b.jpg

8.这时候会显示出很多的表格,点击菜单栏的File-Export-Table as CSV file,选择message表,并导出。

v2-ccb94d5efc7d3c3d3bba25ad74fd8c5f_b.jpg


9.如果直接用excel打开这个表格,可能会显示乱码。所以新建一个excel表格,点击数据-来自文本,然后导入这个.csv文件。

v2-c35c3d50aab1b4e4e9cdf8aa3ea59f8f_b.jpg

10.弹出的框里,第一个下拉框选择GB2312,然后载入,这时候就不乱码了。

v2-999bee72b29460db67bb5dac80533f8d_b.jpg


11.然后在talker一列选择你想要筛选的聊天对象,单击content列并复制到message.txt文本中。

v2-7a6c881356c489cd899652d213e1b0d0_b.jpg

12.最后命令行运行下面代码去除无效信息:

        python3 process_wechat.py message.txt
      

这时候会产生一个__message.txt,就是处理完的聊天记录了。

生成词云

这个上一篇博客已经讲过了,可以去看看:

python生成词云教程(附带QQ聊天记录生成词云实战) | 韦阳的博客

最后的效果如图所示

v2-326148f6ab6961ed638c530dff1e1ff8_b.jpg

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐