本文的最終目的是將手機微信的聊天記錄導出到電腦里,變成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聊天記錄生成詞雲實戰) | 韋陽的博客最后的效果如圖所示
