手把手教你用Python分析微信聊天內容

2022-05-07 17:18:09 字數 2490 閱讀 8742

在開始之前, 先簡單說下我為何會寫這篇文章?

所以我向領導提議, 用**來實現這個工作.

目前, 上面的這個流程我已經用**實現了, 為了記錄實現的過程, 就有了這篇文章.

希望對遇到類似需求的您, 能夠有所幫助.

本文目錄

介紹需要用到的工具

用python讀取聊天資料

總結俗話說, 工欲善其事, 必先利其器. 合適的工具, 往往能夠事半功倍.

這裡用到的工具有:

名稱備註

iphone手機

抱歉, 我沒有安卓手機, 所有沒有在安卓機上進行測試

itunes軟體

用來備份iphone手機資料, 備份時,一定要選擇"不加密"備份, 否則資料無法讀取

iphone backup extractor

db browser for sqlite

免費的資料庫視覺化軟體, 用來檢視sqlite資料庫

python 3.7

os,sqlite3,re,pymysql,emoji

用資料線把iphone連線至電腦, 開啟itunes進行備份.

不要勾選"加密備份"

這一步需要借助乙個軟體iphone backup extractor.

這個軟體雖然收費, 但是其免費功能對我們來說已經夠用了.

開啟這個軟體, 可以看到如下介面:

通過上圖可以看到:

左側是已經備份的iphone手機列表

右側選擇expert mode, 稍等一會兒之後, 就會看到軟體右側區域顯示了備份檔案的目錄結構.

那麼, 我們需要備份的檔案是什麼?在**呢?

我們需要匯出的檔案是:mm.sqlite,wcdb_contact.sqlite

按照的標註, 選中這兩個檔案, 然後點選extract selected按鈕, 進行檔案的匯出.

免費版的軟體, 在匯出檔案之前, 需要等待10s.

檔案匯出的速度很快, 幾乎不用等待.這個時候開啟桌面, 就可以看到匯出後的檔案了.

開啟這個軟體, 點選開啟資料庫

選中匯出後的檔案mm.sqlite:

開啟檔案之後, 點選瀏覽資料, 然後在下拉框裡可以快速切換不同的表.

其中, 以chat開頭的表, 就是存放聊天記錄的表.message字段就是聊天內容.

接著, 我們再開啟另外乙個檔案wcdb_contact.sqlite:

實現過程很簡單, 我看了自己的**, 總共不到100行, 所以**就不貼出來了, 因為寫的很爛 - . -

只簡單說下思路吧.

連線這兩個匯出的資料庫.

迴圈遍歷其中的表.

遍歷每一條聊天內容,並用正規表示式匹配其中的**號碼.

大概就是以上這些.

整個過程的實現還是比較快的, 大概花了半個工作日.

**雖然簡單, 卻實實在在給公司節省了不少的人力成本, 還是蠻有成就感的.

我自己的體會:要多觀察周圍的生活, 找到其中重複勞作的部分, 並用程式去優化, 可能這就是做程式設計師的樂趣所在.

ps: 前幾天跟風, 用閒置伺服器搭建了乙個部落格小碎銀, 來瞅一眼吧

手把手教你用Ucos

ucos作業系統的學習 實時作業系統 任務切換,排程 分式作業系統 不可剝奪型核心 ucosii嵌入式實時作業系統的源 分為三部分 與硬體無關的核心 與處理器有關的移植 和使用者配置檔案。ucos最多支援64個任務,優先順序分別對應0 63,其中0為最高優先順序,系統保留4個最高優先順序的任務,和4...

手把手教你用Python實踐深度學習

課程共七章,採用最新版本進行教學,2018必學技術 第一章 從人工智慧到深度學習 第二章 使用tensorflow keras 建構人工神經網路 artificial neural network 第三章 卷積神經網路 convolutional neural network 第四章 迴圈神經網路 ...

手把手教你用Charles抓包

日常開發過程中難免要進行抓包,檢視服務端返回的資料是否正常,而charles可謂是抓包利器了。配置好以後,charles實際上讓電腦成了乙個中間 伺服器,我們手機上的所有請求都會經過電腦,被charles攔截,然後charles把自己偽裝成手機向我們的遠端伺服器位址傳送請求,所以charles能記錄...