欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python將QQ聊天記錄生成詞云的示例代碼

 更新時間:2021年02月10日 11:19:35   作者:盛夏溫暖流年  
這篇文章主要介紹了Python將QQ聊天記錄生成詞云的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在這個情人節(jié)前夕,我把現(xiàn)任對象回收掉了,這段感情積攢了太多的失望,也給了我太多的傷害,所以我看到這個活動的第一反應(yīng)是拒絕的。然而人生嘛,最重要的就是體驗,沉浸在過去的回憶里沒有意義,積極面對才能讓自己更好地重振旗鼓。

所以,當(dāng)大家都一致地在這個活動里各種秀恩愛時,我決定走一條不一樣的路來為單身狗和剛分手的小伙伴們打打氣:時間能改變的,是那些原本就不堅定的東西,未來的路還很長,笑一笑,一切都會過去的!

言歸正傳,我們要做的任務(wù)是,把 QQ 分手聊天記錄導(dǎo)出,使用 Python 分詞后做成分開的桃心形狀的詞云進(jìn)行展示。聽著就很有意思,來,開干!

步驟一:創(chuàng)建和導(dǎo)出聊天記錄

1.創(chuàng)建聊天記錄內(nèi)容

選擇 QQ 聊天記錄是因為比較簡單,而微信導(dǎo)出相對麻煩??紤]到個人隱私問題,我申請了 QQ 小號,和大號之間發(fā)了一些分手語錄作為提取素材:

在這里插入圖片描述

2.導(dǎo)出聊天記錄

我使用的是TIM,點擊右下角的主菜單,選擇“設(shè)置”:

在這里插入圖片描述

選擇“消息記錄” ->> “安全設(shè)置” ->> “打開消息管理器” :

在這里插入圖片描述

選擇需要導(dǎo)出的關(guān)系人,右鍵點擊“導(dǎo)出消息記錄”:

在這里插入圖片描述

保存到 F:\csdn 目錄下,保存類型選擇文本文件,命名為 chat.txt:

在這里插入圖片描述

第一步導(dǎo)出操作完成。

步驟二:安裝需要的庫

1.安裝 jieba 庫

pip install jieba -i https://pypi.douban.com/simple/

在這里插入圖片描述

2.安裝 Wordcloud 庫

網(wǎng)上有人說直接使用 pip install 安裝 Wordcloud 會有問題,所以我們先下載到本地:

Wordcloud 下載鏈接

選擇適合自己環(huán)境的安裝包(cp 后面的數(shù)字代表 Python 版本,一定要對應(yīng)起來),下載到 Python 安裝目錄下的 Scripts 文件夾中:

在這里插入圖片描述

打開cmd,進(jìn)入該路徑,執(zhí)行安裝命令:

pip install wordcloud-1.8.1-cp38-cp38-win_amd64.whl

安裝成功截圖如下:

在這里插入圖片描述

步驟三:代碼實現(xiàn)

選擇一張分開的心圖片(分開的心也很美嘛):

在這里插入圖片描述

在選擇生成配色方案的圖片時,要求背景白色,邊緣越清晰越好。

qqChat.py 代碼實現(xiàn):

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
import os
import numpy as np
import PIL.Image as Image
 
newtext = []
#打開聊天記錄文件
for word in open('F:\\csdn\\chat.txt', 'r',encoding='utf-8'):
  tmp = word[0:4]
  #過濾掉聊天記錄的時間和qq名稱
  if (tmp == "2021"):
    continue
  tmp = word[0:2]
  #print(tmp)
  newtext.append(word)
 
#將過濾后的文本重新寫入文件并保存
with open('F:\\csdn\\chat_final.txt', 'w', encoding='utf-8') as f:
  for i in newtext:
    f.write(i)
#打開新生成的聊天記錄文件
text = open('F:\\csdn\\chat_final.txt', 'r',encoding = 'utf-8').read()
word_jieba = jieba.cut(text, cut_all=True)
word_split = " ".join(word_jieba)
#去掉一些意義不大的字
stop_words = set(STOPWORDS)
stop_words.add("的")
stop_words.add("我")
stop_words.add("你")
stop_words.add("是")
stop_words.add("就")
#根據(jù)心形圖片生成配色方案,這里的路徑要配置正確
alice_coloring = np.array(Image.open(os.path.join('F:\\','heart.jpg')))
my_wordcloud = WordCloud(scale=16,background_color="white", max_words=800, stopwords=stop_words, mask=alice_coloring,max_font_size=80, random_state=42,font_path='C:/Windows/Fonts/simhei.ttf')\
  .generate(word_split)
image_colors = ImageColorGenerator(alice_coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()

可以根據(jù)自己的需求調(diào)整參數(shù),比如如果有一些語氣詞和無意義的字可以通過配置 stopwords 來進(jìn)行過濾,最后輸入命令運行代碼:

python qqChat.py

效果如下,還是很漂亮的。

在這里插入圖片描述

詞云里面頻率最高的幾個詞分別是“愛”,“自己”,“喜歡”,也恰恰是我想表達(dá)的:不管一段愛情有多么甜蜜或多么悲傷,始終都不能失去自己,哪怕說再見也要保持驕傲的姿態(tài),每一段人生經(jīng)歷都有它的意義和價值,平和地接受結(jié)果就好了。

到此這篇關(guān)于Python將QQ聊天記錄生成詞云的示例代碼的文章就介紹到這了,更多相關(guān)Python 生成詞云內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論