1、這兩天在朋友圈、短視頻,微博這些社交平臺經常刷到這些內容(王者榮耀羋月白晶晶的皮膚)。
2、好奇的我就去百度了一下,發現是王者榮耀最近出的一個皮膚,看到很多人都在討論,我也開始爬取評論,看看大家對這款皮膚的看法?以及為什麼這麼熱門!
3、這個皮膚是與電影《大話西遊》有關,具體介紹可以去官網了解(連結在下方),今天的目的不是介紹皮膚,而是學習爬蟲和數據分析。
https://pvp.qq.com/coming/v2/skins/0125-bjjmy.shtml?ADTAG=pvp.skin.pcgw
評論來源平臺這裡選擇了B站,通過關鍵字:王者榮耀白晶晶,可以搜索相關的視頻,這裡採集多個視頻彈幕評論去進行分析。
為了講解如何獲取數據,這裡選擇了播放量(點擊量)最大的視頻作為樣本採集評論。
採集評論視頻連結如下:
https://www.bilibili.com/video/BV1dr4y1N7YT?from=search&seid=14952442383235795708確認好視頻後,接著開始獲取視頻裡面的彈幕和下方的評論內容。
我之前寫過一篇獲取B站視頻評論的文章分析B站《送你一朵小紅花》彈幕評論,看過這篇文章的小夥伴都知道b站視頻的彈幕怎麼獲取。不過這裡再把方法講一下。
1.首先在視頻頁面按F12,查看數據包找到這個數據包
https://api.bilibili.com/x/v2/dm/thumbup/stats?oid=287593212&ids=44298586098761735
可以獲取oid值287593212
2.獲取彈幕評論b站有專門獲取彈幕評論的api接口,通過改變oid的值就可以獲取每一個視頻的彈幕評論
https://api.bilibili.com/x/v1/dm/list.so?oid=287593212
這樣我們就可以獲取到網友的彈幕評論數據了,下面開始對這些數據進行分析。
編程實現import requestsheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0'}oidlist=['287593212','286279864','285602874','288005981','287970790','287621268']for j in oidlist: url="https://api.bilibili.com/x/v1/dm/list.so?oid="+str(j) r = requests.get(url, headers=headers)這裡oidlist是六個,表示獲取六個視頻的彈幕評論數據
with open("commit.txt","a+",encoding='utf-8') as f: for i in list_s: i = (i.split(">"))[1].replace("</d","") i = i.replace("?","").replace("。","").replace(",","").replace("+","").replace("!","").replace("....","").replace("..","") f.write(str(i)+"\n")獲取到的數據進行相關的處理(去掉一下網頁標籤,標點符號?。,....)
最後保存到commit文本文件中。
1.詞雲分析###1.詞雲分析def analysis1(): with open("commit.txt", 'r', encoding='utf8') as f: st = f.read()
#print(st) word_list = jieba.cut(st) result = " ".join(word_list) # 分詞用 隔開 # 製作中文雲詞 icon_name = 'fab fa-qq' # 圖片保存名稱 picp = '1.png' gen_stylecloud(text=result, font_path='simsun.ttc', # icon_name='fas fa-envira', icon_name='fas fa-cannabis', max_words=100, max_font_size=70, output_name='icon1.png', ) # 必須加中文字體,否則格式錯誤效果1分析詞雲圖中,字體越大表示提到的次數越多
這是王者榮耀英雄,羋月的皮膚,所以少不了對應的關鍵字。
羋月的白晶晶皮膚是電影《大話西遊》裡面人物白晶晶的形象,電影中白晶晶與至尊寶人物有關聯,這也是這款皮膚的熱點、討論點、賣點。
同時白晶晶人物與至尊寶關聯,延伸到餘至尊寶有關的紫霞仙子,王者榮耀裡面的孫悟空(猴子)。
裡面語氣詞(我、嗎,有,了,的)等詞也表現出來網友對於這款皮膚的話題很多。
2.情感分析情感分析我們可以藉助snownlp庫去解決問題
###導入相應的庫from snownlp import SnowNLP這裡可以對每一條的評論進行打分(0~1),如果是0~0.5為消極,0.5~1為正向。
廢話不多說,直接實戰!
這裡也去前5條看看效果
with open("commit.txt", 'r', encoding='utf8') as f: data = f.readlines()
for i in data[0:5]: sentiments = SnowNLP(i).sentiments print(i) print(sentiments) print("")效果2分析可以看到snownlp庫提供的分析方法還算可以。
情感分析平均分這麼條評分,因此我們可以對應所以評論進行評分,然後求其平均分,這樣可以大概了解,網友目前的總體感情是趨向消極還是正向。
with open("commit.txt", 'r', encoding='utf8') as f: data = f.readlines()
sum=0 for i in data: sentiments = SnowNLP(i).sentiments sum = sum+sentiments print("情感分析平均分:"+str(sum/len(data)))效果3分析總體的評分是0.5713098907113867,大於0.5,說明整體趨勢上,網友的評論情感還是正向的。
從側面也可以看出,網友對這款皮膚還是比較喜歡,也是對對應《大話西遊》裡面至尊寶、紫霞、白晶晶等角色的各種話題正向不斷。
再次回顧了如何獲取B站彈幕評論的方法
通過兩種分析方式:詞雲、情感分析,來分析網友的評論,有利於把握大眾某個事物(比如本文的白晶晶皮膚)的看法以及表現的情感。
對評論的分析不再是局限於詞雲等可視化,還可以通過情感方式去把控網友的評論信息。
點擊下方閱讀原文加入社區會員