作者 |周志鵬,2年數(shù)據(jù)分析,深切感受到數(shù)據(jù)分析的有趣和學(xué)習(xí)過程中缺少案例的無奈,遂新開公眾號(hào)「數(shù)據(jù)不吹牛」,定期更新數(shù)據(jù)分析相關(guān)技巧和有趣案例(含實(shí)戰(zhàn)數(shù)據(jù)集)。
最近《都挺好》真的挺火。
火到什么程度?微博熱搜霸榜,辦公室評(píng)彈聲四起,大強(qiáng)輕松攻占表情包,甚至連N年不追劇的瘦宅們也開始沉迷其中,大呼真香。
圖片來源《都挺好》官微
劇很精彩,但追劇界有句俗話說的好:“彈幕往往比劇更精彩”,為了讓精彩延續(xù)下去,我終究沒能忍住對(duì)(騰訊視頻)彈幕下手。
經(jīng)過一番折騰,發(fā)現(xiàn)彈幕是JSON格式動(dòng)態(tài)加載的,而且加載的非常有規(guī)律,30秒一發(fā)(80-100條),多出的會(huì)隱藏。共計(jì)爬取了394452條彈幕(雨露均沾,每集平均8575條,每30S的間隔爬?。?,來挖一挖彈幕這個(gè)寶藏。
1、彈幕基本盤概覽
爬到的源數(shù)據(jù)是醬紫的:
發(fā)現(xiàn)有部分用戶名是缺失的,由于這部分用戶占比很?。▋H0.61%),所以我們直接暴力的除去這部分噪聲。
清洗之后,還剩下117484個(gè)用戶發(fā)送的392051條彈幕,人均發(fā)送彈幕量3.34條。
再看看每個(gè)人發(fā)送彈幕數(shù)是怎么樣分布的:
顯而易見,大部分用戶還是比較佛系的,71607位用戶(占比60.95%)在46集中只發(fā)送過1條彈幕,他們內(nèi)心嚴(yán)格遵循“愛就一個(gè)字,我只發(fā)一次”的彈幕發(fā)送準(zhǔn)則。
發(fā)送條數(shù)在3條及以內(nèi)的用戶數(shù)占比達(dá)到了83.73%,他們累計(jì)貢獻(xiàn)了133331條彈幕,占到彈幕總數(shù)的34.01%,反過來看,剩下16.27%的用戶貢獻(xiàn)了彈幕量的65.99%。從這個(gè)角度來看,二八法則在這里更像是二七法則(20%的用戶貢獻(xiàn)了70%的內(nèi)容)。
2、是誰在瘋狂發(fā)射彈幕,而彈幕又愛上了誰
彈幕發(fā)送量TOP10榜單:
我們都知道明成是“行走的造糞機(jī)”,那么從彈幕的角度來看,誰是“行走的彈幕發(fā)射機(jī)”呢?
為此,我們篩選出累計(jì)發(fā)送彈幕TOP10的用戶:
微微一操作(爬取、清洗和分析都使用PYTHON)
danmu_counts = df.groupby('用戶名')['評(píng)論id'].count().sort_values(ascending= False).reset_index()danmu_counts.columns = ['用戶名','累計(jì)發(fā)送彈幕數(shù)']danmu_counts.head(10)br
Emmm,上一步我們知道平均每個(gè)人在整部劇會(huì)發(fā)送3.34條彈幕,而彈幕發(fā)送排行榜前十的旁友們發(fā)送量都是過千級(jí)別的,我們?cè)偌由线@個(gè)用戶彈幕發(fā)送涉及到的集數(shù),進(jìn)一步看看平均每集發(fā)送彈幕數(shù)。為了更直觀一些,可視化之:
一位名叫"@L"的用戶獨(dú)占鰲頭,是毋庸置疑的C位輸出。在46集的電視劇中,他的彈幕血洗了32集,累計(jì)發(fā)射2773條彈幕,平均每集發(fā)送86.66條。
什么概念呢?
一集電視劇時(shí)長(zhǎng)約42分鐘,也就是說,這位大佬在看劇的同時(shí),仍能保持每分鐘2.06條的發(fā)送頻次,還堅(jiān)持了32集。
到這里大家一定會(huì)有質(zhì)疑,覺得他肯定是刷了大量的“666”、“來了”之類毫無意義的內(nèi)容來霸榜,所以呢,我把他的輸出內(nèi)容篩了出來并做成詞云圖:
這,這,這位大佬輸出的內(nèi)容,不僅緊貼劇情,更是文風(fēng)多變,時(shí)而總結(jié)內(nèi)容,時(shí)而嬉笑怒罵,時(shí)而感慨人生,時(shí)而出口成詩,毫不夸張的說比一般彈幕都要有內(nèi)涵。
我的膝蓋,開始不聽使喚了......
唯有疾呼“高山(頻)仰止,景行行止”。
誰的彈幕最受青睞(點(diǎn)贊數(shù)最多):
根據(jù)每個(gè)用戶累計(jì)點(diǎn)贊量排序,GET到彈幕點(diǎn)贊TOP10排行榜:
第一名“追劇小奶鵝”平均每集發(fā)6條彈幕,每條彈幕竟然能夠得到4585個(gè)贊!難道這就是傳說中的精神領(lǐng)袖嗎?難道大佬之外還有大佬嗎?
在看劇的時(shí)候經(jīng)常能夠被他的彈幕刷屏,而且他的彈幕比其他人停留時(shí)間更長(zhǎng),顏色更艷麗。經(jīng)核實(shí),發(fā)現(xiàn)第一名,原來是嫡系:
騰訊視頻電視劇彈幕專業(yè)陪聊,怪不得這么高的贊。
而第二名,又是我們的大佬“@L”,他憑借高頻、穩(wěn)定、持續(xù)輸出累計(jì)獲得21.69萬贊,平均每條彈幕獲贊78.22個(gè)。
大佬,請(qǐng)收下我的膝蓋!
3、高贊彈幕有何套路:
A)嫡系部隊(duì):
我們單獨(dú)把騰訊的嫡系部隊(duì)“追劇小奶鵝”拎出來,是因?yàn)樗麕缀鯄艛嗔烁哔潖椖籘OP300,嫡系光環(huán)加持,贊或許有虛高的嫌疑,但不妨礙我們單獨(dú)分析他內(nèi)容的套路:
(其實(shí)不少小奶鵝的彈幕并沒有其他的精彩,但畢竟是親兒子)他的套路暴力總結(jié)起來一句話:對(duì)仗工整提大強(qiáng),感天動(dòng)地夸明玉。
B)非嫡系部隊(duì):
高贊的(非嫡系)朋友們深得演唱會(huì)那句帶節(jié)奏名言“現(xiàn)場(chǎng)的朋友們,舉起你們的雙手,讓我看到你們的熱情”的真?zhèn)鳌?/p>
“覺得XX說的對(duì)點(diǎn)下謝謝”、“給XX點(diǎn)贊!”套路是獲贊的一大法寶,另一法寶就是推動(dòng)劇情的內(nèi)容總結(jié)了。
3、彈幕視角主人公情感分析
誰是蘇家最受彈幕關(guān)注的人兒
要分析誰是蘇家最受彈幕關(guān)注的人,必須先根據(jù)關(guān)鍵詞去甄別和定位到劇中角色。
這里列出了關(guān)于蘇家人的簡(jiǎn)單詞庫,用來識(shí)別彈幕在議論誰。
54.31%的彈幕沒有主觀傾向性,沒有提及具體的蘇家人(可能提及了劇中其他人,這里暫不考慮)。
明玉竟然搶過了大強(qiáng)的寶座,以19.91%的彈幕提及率拔得頭籌,而大強(qiáng)則以16.16%的關(guān)注度緊隨其后。
Emmm,無論是劇外熱度還是追劇時(shí)彈幕槽點(diǎn),我都覺得大強(qiáng)應(yīng)該才是最受關(guān)注的?。?/p>
作為一個(gè)嚴(yán)謹(jǐn)?shù)淖穭∪?,我開始排查彈幕,發(fā)現(xiàn)了很多戲精在發(fā)彈幕時(shí)都玩起了角色扮演,他們?cè)诎l(fā)彈幕時(shí),總是先在開頭署名“蘇明玉:”O(jiān)R其他劇中角色,仿佛在代他們發(fā)聲。
清洗完這部分調(diào)皮的用戶之后,排名出現(xiàn)了新的變化:
果然,其他除外,大強(qiáng)以15.16%的關(guān)注占比領(lǐng)先其他家人一個(gè)身位,明玉又把兩個(gè)哥哥拉開了一個(gè)身位的距離,占比8.82%,明成和明哲關(guān)注占比分別是4.84%和4.28%。
PS,明成關(guān)注度之所以低,是因?yàn)楹芏鄰椖涣R人并不會(huì)指名道姓:),而明哲嘛,對(duì)這個(gè)排名表示很失望。
彈幕情感分析
看?。◤椖唬r(shí)能夠明顯感覺到觀眾對(duì)于明成的態(tài)度從最開始的“過街老鼠,人人喊打”到后來的“明成懂事了”。
從數(shù)據(jù)分析的角度講,明成是否成功洗白?大強(qiáng)最后催淚演繹效果如何?
這里我們調(diào)用百度情感分析API,對(duì)每一條評(píng)價(jià)的內(nèi)容進(jìn)行情感打分,用情感分值來驗(yàn)證上述問題(分值在0-1之間,越靠近0負(fù)面傾向越強(qiáng),越接近1則情感越情面)。
調(diào)用方法很簡(jiǎn)單(只對(duì)內(nèi)容感興趣可以直接略過代碼):
#先安裝aip包from aip import AipNlp#到后臺(tái)配置權(quán)限,獲得相關(guān)ID和KEY,目前API是免費(fèi)且不限量的app_id = '輸入實(shí)際ID'api_key = '輸入實(shí)際KEY'secret_key = '輸入實(shí)際SECRET_KEY'client = AipNlp(app_id,api_key,secret_key) #定義函數(shù),以便循環(huán)爬取def senti_analy(text):data = client.sentimentClassify(text)sentiment = data['items'][0]['positive_prob']return sentiment for text in df['內(nèi)容']:try:sentiments.append(senti_analy(text))except:#print(text)sentiments.append('pass') df['情感分值'] = sentimentsbr
打分篩選過后,我們統(tǒng)計(jì)出每一集蘇家每個(gè)人的平均情感分值,并繪制出曲線圖(4個(gè)人導(dǎo)致折線圖可讀性較差,所以只有委屈大哥了):
大強(qiáng)開局不錯(cuò),和明玉持平,但憑借倪老師“作死小能手”的實(shí)力詮釋,讓情感分值迅速走低,11集的低點(diǎn)正式印證了大強(qiáng)的“癲瘋之作”,之后分值在0.38左右徘徊。隨著“蔡根花寶貝”梗的出現(xiàn),“嘲諷”替代了指責(zé),讓分值略微上?。ㄇ楦写蚍謱?duì)于高級(jí)黑式嘲諷難以準(zhǔn)確判斷)。最后老年癡呆發(fā)病后大強(qiáng)對(duì)明玉的愛讓分值一舉超過0.5,達(dá)到歷史峰值,成功上岸。
明玉是原生家庭的受害者,也是一個(gè)靠自己成功的女強(qiáng)人,前期愛恨分明,情感分值一度飆到0.59(超過其他所有角色),18集開始的買房紛爭(zhēng),網(wǎng)友紛紛表示強(qiáng)烈同情(例:明玉不能像十年前一樣別理他們嗎?情感分值只有0.041),這讓明玉相關(guān)的情感分值嚴(yán)重走低,隨后彈幕主旋律仍以叫好和同情為主。
明成的情感分值走勢(shì)更有意思,開局最低,靠欺負(fù)妹妹讓分值迅速降低,可謂“人人喊打”,后面分值的飆升,一度追上明玉,主要是因?yàn)槊鞒善谕狄呀?jīng)極低,但是他寵老婆的行為得到觀眾認(rèn)可。中期本色挨罵,降至低谷。27集明成情感分值再次超過0.5,竟然是因?yàn)槊鞒上雵樧叽髲?qiáng)進(jìn)行的一系列騷操作(尤其是廣場(chǎng)舞)。再后來就是明成幡然悔悟,走上正軌,分值在穩(wěn)定在0.45左右,也算成功洗白。
看來,開局降期望,中期隨便作,后期催淚逆風(fēng)翻盤,終究還是會(huì)被觀眾接受。
-
數(shù)據(jù)分析
+關(guān)注
關(guān)注
2文章
1473瀏覽量
35050 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86821 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1224瀏覽量
25462
原文標(biāo)題:Python爬取394452條《都挺好》彈幕數(shù)據(jù),發(fā)現(xiàn)彈幕比劇還精彩?
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
語音彈幕 吐槽真爽快
基于Python3對(duì)攜程網(wǎng)頁上北京五星級(jí)酒店列表的爬取
基于Python實(shí)現(xiàn)一只小爬蟲爬取拉勾網(wǎng)職位信息的方法
基于彈幕文本的視頻情感識(shí)別算法
Python爬蟲爬取美劇網(wǎng)站

到底可不可以設(shè)計(jì)一個(gè)物聯(lián)網(wǎng)彈幕器

彈幕信息下的多目標(biāo)視頻分類任務(wù)綜述

評(píng)論