本文的最終目的是將手機微信的聊天記錄導出到電腦里,變成txt文本文件,然后對其進行分析。
網上有一些工具也可以完成這個功能,但是基本都是付費的。手動操作的話,找了很多的博客,基本沒有完全有效的。最終找到一篇很靠譜的教程:
小米手機提取微信聊天記錄數據庫 · Issue #1 · Heyxk/notes本文基本參考這篇進行整理。
首先上我的github把所有需要的文件下載下來:
godweiyang/wechat-explore用法稍后說明。
導出手機微信數據庫
首先要做的第一步就是將手機端的微信數據庫.db
文件導出到電腦上。
小米手機
小米的話做法很簡單,不需要進行root。
1. 首先進入手機的設置-更多設置-備份和重置-本地備份
,輸入密碼,點擊新建備份
,把兩個勾去掉,點擊軟件程序右邊的尖括號,選擇微信,點擊確定,點擊開始備份,等待完成就行了。

2.然后將手機連接電腦,打開手機目錄下的MIUI/backup/AllBackup/yyyymmdd_xxxxxx/
文件夾,將.bak
文件拷貝到電腦上,我這里重命名為了com.tencent.mm.bak
。

3.然后用任意一種壓縮包軟件(我用的是7zip)打開這個com.tencent.mm.bak
文件,並且將apps\com.tencent.mm\r\MicroMsg\systemInfo.cfg
、apps\com.tencent.mm\r\MicroMsg\CompatibleInfo.cfg
和apps\com.tencent.mm\r\MicroMsg\xxxx\EnMicroMsg.db
三個文件解壓到電腦上。這里xxxx是一串隨機的字母,代表你的微信用戶,每個人不一樣,一般是最大的那個文件夾,我這里是下圖所示文件夾:

其他手機通用做法
其他手機可能沒有這么方便,一種辦法是root之后去/data/data/com.tencent.mm/MicroMsg
下面找這三個文件,但是很多人是不會去root的,所以介紹另一種方法。
首先電腦上安裝一款安卓模擬器,然后里面下載手機微信並登錄,最重要的一步就是將手機端聊天記錄備份到電腦端微信,然后將電腦端聊天記錄恢復到安卓虛擬器里的微信,這個功能是微信自帶的,應該沒有什么難度。
然后對安卓虛擬器進行root,這個也是設置里就有的,最后就能把三個文件都拷貝到電腦上了。
破解數據庫密碼
4.將上面的所有文件全部放在一個目錄下。

5.然后命令行運行如下代碼:
javac IMEI.java
java IMEI systemInfo.cfg CompatibleInfo.cfg
第三行就是數據庫的密碼了。

導出聊天記錄
6.然后打開sqlcipher.exe
軟件,用它打開EnMicroMsg.db
數據庫,輸入第五步得到的密碼。


8.這時候會顯示出很多的表格,點擊菜單欄的File-Export-Table as CSV file
,選擇message
表,並導出。

9.如果直接用excel打開這個表格,可能會顯示亂碼。所以新建一個excel表格,點擊數據-來自文本
,然后導入這個.csv
文件。

10.彈出的框里,第一個下拉框選擇GB2312
,然后載入,這時候就不亂碼了。

11.然后在talker
一列選擇你想要篩選的聊天對象,單擊content
列並復制到message.txt
文本中。

12.最后命令行運行下面代碼去除無效信息:
python3 process_wechat.py message.txt
這時候會產生一個__message.txt
,就是處理完的聊天記錄了。
生成詞雲
這個上一篇博客已經講過了,可以去看看:
python生成詞雲教程(附帶QQ聊天記錄生成詞雲實戰) | 韋陽的博客最后的效果如圖所示
