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導出並分析聊天記錄詳解流程的文章就介紹到這瞭,更多相關Python 分析聊天記錄內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: