昨天看球時,球迷都說了啥——彈幕抓取與分析
推薦去我的博客閱讀:昨天看球時,球迷都說了啥——彈幕抓取與分析
數據來源:龍珠直播中國之隊官方直播間直播間-龍珠直播,遊戲直播平台
本次彈幕記錄(開始時間: 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 |