溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

發(fā)布時間:2021-10-19 10:21:07 來源:億速云 閱讀:116 作者:柒染 欄目:大數(shù)據(jù)

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

今天是八月三號  
 
習(xí)慣性的身邊復(fù)習(xí)的同學(xué)離開  
 
人越來越少
亞軍是我老鄉(xiāng),也回家了  
 
寢室剩下我一人   如何使用Python統(tǒng)計180班QQ群聊文本可視化分析  
近幾天一直沒去復(fù)習(xí)  
 
復(fù)習(xí)狀態(tài)一直不太好  
 
只能看看課外書
學(xué)學(xué)Python,機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘...  
 
相關(guān)的書籍,為以后數(shù)據(jù)分析積累知識  
 
如何使用Python統(tǒng)計180班QQ群聊文本可視化分析
今天給大家講講我們班  
 
2016級統(tǒng)計學(xué)180班  
 
我們班有來自不同的地方  
 
標(biāo)紅點(diǎn)的為來源的地方  
 
其中以河南省的同學(xué)人數(shù)最多

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

轉(zhuǎn)眼就到大四年級,留在學(xué)校的時日不多了

    
首先要獲取QQ群聊的文本數(shù)據(jù)
而爬蟲可以很好的實現(xiàn)網(wǎng)頁數(shù)據(jù)的爬取
一般爬取數(shù)據(jù)流程如下所示

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

分為網(wǎng)站請求、偽裝、解析、存儲四個過程

更為詳細(xì)的爬取流程如下所示

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

需要添加一些規(guī)則

然而,本文的文本數(shù)據(jù)

是我從QQ電腦端后臺導(dǎo)出的

目前對于網(wǎng)絡(luò)爬蟲的學(xué)習(xí)

我只會豆瓣影評、書評、淘寶價格的爬取

等具體學(xué)習(xí)成熟了

發(fā)一篇網(wǎng)絡(luò)爬蟲的推文

敬請期待

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

導(dǎo)出文本數(shù)據(jù)后

編寫程序,調(diào)試代碼,做可視化分析

詳細(xì)代碼如下所示

#QQ群聊數(shù)據(jù)分析代碼import reimport datetimeimport seaborn as snsimport matplotlib.pyplot as pltimport jiebafrom wordcloud import WordCloud, STOPWORDSfrom scipy.misc import imread# 日期def get_date(data): # 日期   dates = re.findall(r'\d{4}-\d{2}-\d{2}', data)   # 天   days = [date[-2:] for date in dates]   plt.subplot(221)   sns.countplot(days)   plt.title('Days')   # 周幾   weekdays = [datetime.date(int(date[:4]), int(date[5:7]), int(date[-2:])).isocalendar()[-1]               for date in dates]   plt.subplot(222)   sns.countplot(weekdays)   plt.title('WeekDays')# 時間def get_time(data):   times = re.findall(r'\d{2}:\d{2}:\d{2}', data)   # 小時   hours = [time[:2] for time in times]   plt.subplot(223)   sns.countplot(hours, order=['06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17',                               '18', '19', '20', '21', '22', '23', '00', '01', '02', '03', '04', '05'])   plt.title('Hours')代碼演示:# 詞云def get_wordclound(text_data):   word_list = [" ".join(jieba.cut(sentence)) for sentence in text_data]   new_text = ' '.join(word_list)   pic_path = 'QQ.jpg'   mang_mask = imread(pic_path)   plt.subplot(224)   wordcloud = WordCloud(background_color="white", font_path='/home/shen/Downloads/fonts/msyh.ttc',                         mask=mang_mask, stopwords=STOPWORDS).generate(new_text)   plt.imshow(wordcloud)   plt.axis("off")# 內(nèi)容及詞云def get_content(data):   pa = re.compile(r'\d{4}-\d{2}-\d{2}.*?\(\d+\)\n(.*?)\n\n', re.DOTALL)   content = re.findall(pa, data)   get_wordclound(content)def run():   filename = '新建文本文檔.txt'   with open(filename) as f:       data = f.read()   get_date(data)   get_time(data)   get_content(data)   plt.show()
 

如何使用Python統(tǒng)計180班QQ群聊文本可視化分析

做出文本可視話圖后,可以得出如下結(jié)論

在2018年1月1日~1月31日統(tǒng)計180班群聊中

1月2日這一天群聊次數(shù)最多

每周的星期二群聊次數(shù)做多

每天的16時群聊次數(shù)最多

做詞云圖發(fā)現(xiàn)

“全體成員”出現(xiàn)的詞頻最多


關(guān)于如何使用Python統(tǒng)計180班QQ群聊文本可視化分析問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI