《都挺好》彈幕比劇還精彩?394452條彈幕告訴你答案
最近《都挺好》真的挺火。火到什么程度?微博熱搜霸榜,辦公室評彈聲四起,大強輕松攻占表情包,甚至連 N 年不追劇的“瘦宅”們也開始沉迷其中,大呼真香。
劇很精彩,但追劇界有句俗話說得好:“彈幕往往比劇更精彩”,為了讓精彩延續下去,我終究沒能忍住對(騰訊視頻)彈幕下手。
圖源微博畫手@馬里奧小黃
經過一番折騰,發現彈幕是 JSON 格式動態加載的,而且加載得非常有規律,30 秒一發(80-100 條),多出的會隱藏。
共計爬取了 394452 條彈幕(雨露均沾,每集平均 8575 條,每 30s 的間隔爬取),來挖一挖彈幕這個寶藏。
彈幕基本盤概覽
爬到的源數據是醬紫的:
發現有部分用戶名是缺失的,由于這部分用戶占比很小(僅 0.61%),所以我們直接暴力除去這部分噪聲。
清洗之后,還剩下 117484 個用戶發送的 392051 條彈幕,人均發送彈幕量 3.34 條。
再看看每個人發送彈幕數是怎么樣分布的:
顯而易見,大部分用戶還是比較佛系的,71607 位用戶(占比 60.95%)在 46 集中只發送過 1 條彈幕,他們內心嚴格遵循“愛就一個字,我只發一次”的彈幕發送準則。
發送條數在 3 條及以內的用戶數占比達到了 83.73%,他們累計貢獻了 133331 條彈幕,占到彈幕總數的 34.01%,反過來看,剩下 16.27% 的用戶貢獻了彈幕量的 65.99%。
從這個角度來看,二八法則在這里更像是二七法則(20% 的用戶貢獻了 70% 的內容)。
是誰在瘋狂發射彈幕,而彈幕又愛上了誰
彈幕發送量前十 榜單
我們都知道明成是“行走的造糞機”,那么從彈幕的角度來看,誰是“行走的彈幕發射機”呢?
為此,我們篩選出累計發送彈幕前十名的用戶,微微一操作(爬取、清洗和分析都使用 Python):
- danmu_counts = df.groupby('用戶名')['評論id'].count().sort_values(ascending= False).reset_index()
- danmu_counts.columns = ['用戶名','累計發送彈幕數']
- danmu_counts.head(10)
上一步我們知道平均每個人在整部劇會發送 3.34 條彈幕,而彈幕發送排行榜前十的旁友們發送量都是過千級別的,我們再加上這個用戶彈幕發送涉及到的集數,進一步看看平均每集發送彈幕數。
為了更直觀一些,可視化之:
一位名叫“@L”的用戶獨占鰲頭,是毋庸置疑的 C 位輸出。在 46 集的電視劇中,他的彈幕血洗了 32 集,累計發射 2773 條彈幕,平均每集發送 86.66 條。
什么概念呢?一集電視劇時長約 42 分鐘,也就是說,這位大佬在看劇的同時,仍能保持每分鐘 2.06 條的發送頻次,還堅持了 32 集。
到這里大家一定會有質疑,覺得他肯定是刷了大量的“666”、“來了”之類毫無意義的內容來霸榜,所以我把他的輸出內容篩了出來并做成詞云圖:
這……這位大佬輸出的內容,不僅緊貼劇情,更是文風多變,時而總結內容,時而嬉笑怒罵,時而感慨人生,時而出口成詩,毫不夸張的說比一般彈幕都要有內涵。
我的膝蓋,開始不聽使喚了......唯有疾呼“高山(頻)仰止,景行行止”。
誰的彈幕最受青睞(點贊數)
根據每個用戶累計點贊量排序,Get 到彈幕點贊排行榜:
其中,“追劇小奶鵝”平均每集發 6 條彈幕,每條彈幕竟然能夠得到 4585 個贊!難道大佬之外還有大佬嗎?
在看劇的時候經常能夠被他的彈幕刷屏,而且他的彈幕比其他人停留時間更長,顏色更艷麗。經核實,發現“追劇小奶鵝”原來是“嫡系”:
騰訊視頻電視劇彈幕專業陪聊,怪不得這么高的贊。而第二名,又是我們的大佬“@L”,他憑借高頻、穩定、持續輸出累計獲得 21.69 萬贊,平均每條彈幕獲贊 78.22 個。大佬,請收下我的膝蓋!
高贊彈幕有何套路
①嫡系部隊
我們單獨把騰訊的嫡系部隊“追劇小奶鵝”拎出來,是因為他幾乎壟斷了高贊彈幕 TOP300。
嫡系光環加持,贊或許有虛高的嫌疑,但不妨礙我們單獨分析他內容的套路(其實不少小奶鵝的彈幕并沒有其他的精彩,但畢竟是親兒子):
暴力總結起來就一句話:對仗工整提大強,感天動地夸明玉。
②非嫡系部隊
高贊的(非嫡系)朋友們深得演唱會那句帶節奏名言“現場的朋友們,舉起你們的雙手,讓我看到你們的熱情”的真傳。
“覺得 XX 說得對點下謝謝”、“給 XX 點贊!”套路是獲贊的一大法寶,另一法寶就是推動劇情的內容總結了。
彈幕視角主人公情感分析
誰是蘇家最受彈幕關注的人兒
要分析誰是蘇家最受彈幕關注的人,必須先根據關鍵詞去甄別和定位到劇中角色。
這里列出了關于蘇家人的簡單詞庫,用來識別彈幕在議論誰。
54.31% 的彈幕沒有主觀傾向性,沒有提及具體的蘇家人(可能提及了劇中其他人,這里暫不考慮)。
明玉竟然搶過了大強的寶座,以 19.91% 的彈幕提及率拔得頭籌,而大強則以 16.16% 的關注度緊隨其后。
Emmm,無論是劇外熱度還是追劇時彈幕槽點,我都覺得大強應該才是最受關注的啊!
作為一個嚴謹的追劇人,我開始排查彈幕,發現了很多戲精在發彈幕時都玩起了角色扮演,他們在發彈幕時,總是先在開頭署名“蘇明玉:” or 其他劇中角色,仿佛在代他們發聲。
清洗完這部分調皮的用戶之后,排名出現了新的變化:
果然,其他除外,大強以 15.16% 的關注占比領先其他家人一個身位,明玉又把兩個哥哥拉開了一個身位的距離,占比 8.82%,明成和明哲關注占比分別是 4.84% 和 4.28%。
PS:明成關注度之所以低,是因為很多彈幕罵人并不會指名道姓:),而明哲嘛,對這個排名表示很失望。
彈幕情感分析
看劇(彈幕)時能夠明顯感覺到觀眾對于明成的態度從最開始的“過街老鼠,人人喊打”到后來的“明成懂事了”。
從數據分析的角度講,明成是否成功洗白?
這里我們調用百度情感分析 API,對每一條評價的內容進行情感打分,用情感分值來驗證上述問題(分值在 0-1 之間,越靠近 0 負面傾向越強,越接近 1 則情感越情面)。
調用方法很簡單:
- #先安裝aip包
- from aip import AipNlp
- #到后臺配置權限,獲得相關ID和KEY,目前API是免費且不限量的
- app_id = '輸入實際ID'
- api_key = '輸入實際KEY'
- secret_key = '輸入實際SECRET_KEY'
- client = AipNlp(app_id,api_key,secret_key)
- #定義函數,以便循環爬取
- def senti_analy(text):
- data = client.sentimentClassify(text)
- sentiment = data['items'][0]['positive_prob']
- return sentiment
- for text in df['內容']:
- try:
- sentiments.append(senti_analy(text))
- except:
- #print(text)
- sentiments.append('pass')
- df['情感分值'] = sentiments
打分篩選過后,我們統計出每一集蘇家每個人的平均情感分值,并繪制出曲線圖(4 個人導致折線圖可讀性較差,所以只有委屈大哥了):
①大強開局不錯,和明玉持平,但憑借倪老師“作死小能手”的實力詮釋,讓情感分值迅速走低,11 集的低點正式印證了大強的“癲瘋之作”,之后分值在 0.38 左右徘徊。
隨著“蔡根花寶貝”梗的出現,“嘲諷”替代了指責,讓分值略微上浮(情感打分對于高級黑式嘲諷難以準確判斷)。
老年癡呆發病后,大強對明玉的愛讓分值一舉超過 0.5,達到歷史峰值,成功上岸。
②明玉是原生家庭的受害者,也是一個靠自己成功的女強人,前期愛恨分明,情感分值一度飆到 0.59(超過其他所有角色)。
18 集開始的買房紛爭,網友紛紛表示強烈同情(例:明玉不能像十年前一樣別理他們嗎?情感分值只有 0.041),這讓明玉相關的情感分值嚴重走低,隨后彈幕主旋律仍以叫好和同情為主。
③明成的情感分值走勢更有意思,靠欺負妹妹讓分值迅速降低,可謂“人人喊打”,后面則分值飆升,一度追上明玉,主要是因為明成期望值已經極低,但是他寵老婆的行為得到觀眾認可。
中期本色挨罵,降至低谷。27 集明成情感分值再次超過 0.5,竟然是因為明成想嚇走大強進行的一系列騷操作(尤其是廣場舞)。
再后來就是明成幡然悔悟,走上正軌,分值在穩定在 0.45 左右,也算成功洗白。
看來,開局降期望,中期隨便作,后期催淚逆風翻盤,終究還是會被觀眾接受。