標籤:

昨天看球時,球迷都說了啥——彈幕抓取與分析

推薦去我的博客閱讀:昨天看球時,球迷都說了啥——彈幕抓取與分析

數據來源:龍珠直播中國之隊官方直播間直播間-龍珠直播,遊戲直播平台

本次彈幕記錄(開始時間: 2017-03-23-19:43:34,結束21:29:33),共記錄20788條數據。

使用OBS彈幕助手記錄OBS彈幕助手 - OBS插件 - 小葫蘆

1、分析

文件中含有時間記錄,觀眾ID和送禮記錄,其次是彈幕內容,所以決定對前兩列內容不分析。

首先需要對文本分詞,這裡採用jieba分詞 fxsjy/jieba

去除空格,使用strip()函數, 去掉換行符"n"

line = line.strip(n)n

把分析結果寫入新的文檔text.txt,Python join() 方法用於將序列中的元素以指定的字元連接生成一個新的字元串

text = nwith open(danmu.txt,encoding=utf-8) as fin:n for line in fin.readlines():n line = line.strip(n)n text += /.join(jieba.cut(line))n text += nfout = open(text.txt,wb)#以二進位寫模式寫入npickle.dump(text,fout)nfout.close()n

這樣就完成了分詞過程,結果如下:

2、繪製圖雲

# 直接從文件讀取數據nfr = open(text.txt,rb)ntext = pickle.load(fr)n

使用word_cloud,具體用法amueller/word_cloud

backgroud_Image = plt.imread(girl.jpg)nwc = WordCloud( background_color = white, # 設置背景顏色n mask = backgroud_Image, # 設置背景圖片n max_words = 2000, # 設置最大現實的字數n stopwords = STOPWORDS, # 設置停用詞n font_path = C:/Users/Windows/fonts/msyh.ttf,# 設置字體格式,如不設置顯示不了中文n max_font_size = 300, # 設置字體最大值n random_state = 50, # 設置有多少種隨機生成狀態,即有多少種配色方案n )n

使用matplotlib繪圖,Python plotting - Matplotlib 2.0.0 documentation

wc.generate(text)nimage_colors = ImageColorGenerator(backgroud_Image)n#wc.recolor(color_func = image_colors)nplt.imshow(wc)nplt.axis(off)nplt.show()n

OK,這樣就完成了,附上結果

有沒有你發過的彈幕呢?

可自形修改數據,得到更好看圖片。

能力有限,分析很少,如果你想進行更深入分析,請找我要文件。

對英雄聯盟感興趣的小夥伴可以看看這篇,對遊戲直播彈幕的分析。

利用Python對直播彈幕的分析

github:zhangslob/DanmuFenxi

(萬水千山總是情,來波Star行不行)

推薦閱讀:

ELEMENTARY.06.Best Stock
黃哥說很多人的循環都寫不好, 請看。
使用Python操作機器人聊天
一步一步教你認識Python閉包

TAG:Python |