匯出QQ聊天記錄生成詞云看看你和女朋友聊了什么(可惜我沒女朋友)
- 匯出聊天記錄打開訊息管理器
匯出的格式選擇txt格式(我這里選擇匯出的路徑是桌面所以在桌面上生成了一個包含聊天記錄的.txt檔案)
干貨主要有:
① 200 多本 Python 電子書(和經典的書籍)應該有
② Python標準庫資料(最全中文版)
③ 專案原始碼(四五十個有趣且可靠的練手專案及原始碼)
④ Python基礎入門、爬蟲、網路開發、大資料分析方面的視頻(適合小白學習)
⑤ Python學習路線圖(告別不入流的學習)
Python學習Q群101677771
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")#最后生成詞云的圖片
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/423911.html
標籤:其他
上一篇:Spring學習
