微信聊天記錄生成詞雲圖(等日后有機會補充完整)


我用的是華為,所以下面的教程是用華為手機做的示例 

其他安卓手機免root教程網址:https://www.louyue.com/android-weixin.htm

ios系統的可參考這篇文章:https://zhuanlan.zhihu.com/p/56624686

1、導出手機里的微信備份文件

(1)卸載手機的備份軟件(設置>>>應用和通知>>>應用管理>>備份>>卸載),重新下載8.0版本的“備份”

8.0版本的備份下載鏈接:https://www.louyue.com/down/huaweibeifen8.0.apk

(2)關掉無線網(要不然會自動更新到最新的版本),打開備份軟件,點擊“備份”,“內部存儲>>下一步”,再點擊“應用”(並非勾選“應用”)。

 

 

(3)在彈出的應用列表中勾選上“微信”並點擊“開始備份”按鈕,然后在彈出的設置密碼界面直接點擊“跳過”按鈕。

 

 

(4)備份結束后,接下來將華為手機連接到電腦上,進入手機盤符下的“Huawei/Backup/backupFiles/備份時間”文件夾,可看到剛才備份下來的com.tencent.mm.db文件,將其復制並粘貼到電腦上任意目錄下。

2、提取微信數據庫文件

(1)在電腦上安裝並運行樓月安卓手機備份文件提取器(點擊此處下載),備份文件設置為剛才復制到電腦上的com.tencent.mm.db文件,然后設置一個輸出目錄(即提取的文件保存到的目錄),最后點擊“開始提取”按鈕,並耐心等待其提取結束。

(2)提取得文件自動生成一個data文件夾,在文件夾中(data\data\com.tencent.mm\MicroMsg\414a7fad79697cb585645b12fad6ba23【后面這串亂碼應該是微信賬號】)找到enmicromsg.db文件,這個就是微信聊天記錄的數據庫啦,把他復制到一個方便操作的位置

 3、找數據庫密碼

數據庫拷貝到電腦后是加密的,需要提供key來打開數據庫。

key=IMEI(手機序列號)+UIN(用戶信息號)

(1)IMEI的找尋,在手機撥號界面輸入*#06#即可找到IMEI。

(2)微信UIN的獲取

登錄網頁版的微信,隨便給誰發一條消息,查看開發者模式(chrome直接F12即可)中network的請求參數,一般都會包含這個UIN, 

(3)通過MD5計算出自己的密碼,網址https://md5jiami.51240.com/,輸入剛剛的key,取32位小寫前七位

4、下載能打開微信數據庫的軟件

下載打開數據庫的工具sqlcipher,下載地址https://pan.baidu.com/s/1dDBa4FZ,直接下載可用,雙擊sqlcipher.exe

5、利用工具打開數據庫並導出csv文件

  (1) file >> open data base >> 選擇第五步的enmicromsg.db文件 >> 輸入6(3)獲取的密碼  >> 打開數據庫

 

(2)查詢和某人的所有聊天記錄(××××處填入對方的昵稱)

select datetime(subStr(cast(m.createTime as text),1,10),'unixepoch','localtime') as theTime,
case m.isSend 
when 0 then r.nickname 
when 1 then ''end as person,m.content 
from message 
m inner join rcontact r on m.talker = r.username 
where m.type=1 and r.nickname = '××××' 

(3)把上面的結果加入到另外一張新表上,方便導出csv(暫時沒發現這里有視圖功能,只能用這種辦法折中一下)

【1】新建一張wxcontent表: edit >> create table

   一共有三個字段分別為:theTime(text類型),person(text類型),content(blob類型)  

【2】通過sql語句給這張表增加想要的數據

(添加數據的sql語句)

insert into wxcontent 
select datetime(subStr(cast(m.createTime as text),1,10),'unixepoch','localtime') as theTime,
case m.isSend 
when 0 then r.nickname 
when 1 then ''end as person,m.content 
from message 
m inner join rcontact r on m.talker = r.username 
where m.type=1 and r.nickname = '××××' 

 【3】檢查一下wxcontent表是否有數據

 

【4】把表中數據導出到csv文件中:file >> export >> table as csv file >> 選擇wxcontent表 >> export

6、至此,微信聊天記錄就按照我們的想法導出來了

7、下面生成好看的詞雲

法一:

運用在線網站(網站選取可參考文章:https://zhuanlan.zhihu.com/p/69066085

我用的是https://wordart.com/create ,國外網站,免費,生成的圖片沒有水印

使用方法:

(1)用excel打開第十步導出的csv文件,復制content列

(2)打開網站,點擊words  >> import

   數據導入完成后會按照詞頻排列,詞頻越高,越在上面

 

 (3)導入一個中文字體(網站是沒有中文字體的哈)

   可以在電腦里面復制一個ttf文件(windows可以打開控制面板,搜索fonts),復制一個到一個可操作的位置(桌面即可)

   然后去網站上,add font即可

(4)shapes是選擇形狀(其他功能可以自己探索下),然后點擊visualize,生成圖片

 (5)微信聊天的詞雲圖就生成好啦

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM