王者榮耀白晶晶皮膚1小時銷量破千萬!用 Python 分析我發現了原因

2021-02-13 Python中文社區

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站彈幕評論的方法

通過兩種分析方式:詞雲情感分析,來分析網友的評論,有利於把握大眾某個事物(比如本文的白晶晶皮膚)的看法以及表現的情感。

對評論的分析不再是局限於詞雲等可視化,還可以通過情感方式去把控網友的評論信息。


點擊下方閱讀原文加入社區會員

相關焦點