這篇文章主要介紹了如何使用Python導出并分析聊天記錄,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1.導出聊天記錄打開消息管理器

導出的格式選擇txt格式(我這里選擇導出的路徑是桌面所以在桌面上生成了一個包含聊天記錄的.txt文件)

2.編寫代碼圖中框出來的文本是我們不需要的(比如說圖片會在這里面顯示為[圖片]表情顯示為[表情]) 所以我們把它替換掉,我這里用到了正則:

string = open(r'C:\\Users\\l1768\\Desktop\\消息記錄.txt','r',encoding='utf-8').read()
s = re.compile('2020.+洋仔|2020.+?﹏?? 大大大威鍋丶|表情|圖片|2019.+洋仔|2019.+?﹏?? 大大大威鍋丶|撤回了一條消息|系統消息')#編寫正則表達式
message = re.sub(s,'',string)#替換對應的字符串為空字符串然后我們把經過處理的文本再進行去除特殊字符處理
def getText(text):#該函數用來替換文本中出現的特殊字符
txt = text
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~,。、 :':
txt = txt.replace(ch, "") #將文本中特殊字符替換為空格
return txt
message = getText(message)使用jieba分詞并生成詞云
split_message = jieba.lcut(message)
wordcloud_txt = ' '.join(split_message)
w=wordcloud.WordCloud(background_color="white",
font_path='./fonts/simhei.ttf',
width=1600,height=800,
max_words=2000)#設置生成詞云的參數,background_color指定圖片背景顏色,
#font_path設置中文字體,要不然中文會顯示不出來
#width=1600,height=800分別指定圖片的寬度像素和高度像素,
#max_words指定生成詞云的詞最大是兩千詞
#還有很多可選參數,大家可以自行百度
w.generate(wordcloud_txt)#向詞云傳遞文本
w.to_file("聊天記錄詞云.png")#最后生成詞云的圖片3.最終生成的結果:

4.完整代碼:
import re
import jieba
import wordcloud
def getText(text):#該函數用來替換文本中出現的特殊字符
txt = text
for ch in '!"#$%&()*+,-./:;<=>?@[\]^_‘{|}~,。、 :':
txt = txt.replace(ch, "") #將文本中特殊字符替換為空格
return txt
string = open(r'C:\Users\l1768\Desktop\消息記錄.txt','r',encoding='utf-8').read()
s = re.compile('2020.+洋仔|2020.+?﹏?? 大大大威鍋丶|表情|圖片|2019.+洋仔|2019.+?﹏?? 大大大威鍋丶|撤回了一條消息|系統消息')
message = re.sub(s,'',string)
message = getText(message)
split_message = jieba.lcut(message)
wordcloud_txt = ' '.join(split_message)
w=wordcloud.WordCloud(background_color="white", font_path='./fonts/simhei.ttf',width=1600,height=800,max_words=2000)#設置生成詞云的參數
w.generate(wordcloud_txt)#向詞云傳遞文本
w.to_file("聊天記錄詞云.png")#最后生成詞云的圖片感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Python導出并分析聊天記錄”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。