當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

古柳_Deserts_X發表於2019-02-27

因緣際會

八月伊始的當口,念想著:新的一個月了,是否有關於八月的歌呢,閒時也蠻想找來聽下的。說來也怪,哪個月都不曾有過此念頭,這回卻“突發奇想”且又念念不忘,於是開啟網易雲音樂,傻瓜般地搜尋“八月”,倒也真有不少同名歌曲,其中第一首就是八尾旅人的日文歌曲《八月》,點開聽了下,還無暇看歌詞描寫的是什麼,就看到了評論數高達9千餘條,而且有8月1號當天許多“同道中人”的留言,看來在這新的一個月的當日,有此心路歷程和“行跡”的人,卻也不在少數哈。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

也正是有感於在無從知曉的地方有那麼多人曾有過如此相似的行為,且對這樣一首以月份為主題的歌曲到底引發了聽友哪些感慨的好奇,我打算爬取此歌曲的全部9400餘條評論(截止2018-08-06晚上),並嘗試進行分析和挖掘,慶幸的是很久前 Python 交友娛樂會所群(QQ 群:613176398,這不是 ads 系列)裡曾有人分享過現成的爬取網易雲音樂歌曲評論的爬蟲,免去了破解反爬 JS 加密之苦,可以更專注於後續步驟。

若對爬蟲感興趣的可以看下這個話題:如何爬網易雲音樂的評論數? 。為了更好的呈現內容,將不會放上冗長的程式碼,不過發現程式碼裡太多需要在jupyter notebook裡互動式講解了,有些難搞,開源地址:github.com/DesertsX/gu…,程式碼還會優化調整,歡迎 star。

一個不成熟的小建議就是讀者可以邊聽八尾旅人《八月》這歌邊閱讀本文。

八月的歌

評論數變化情況

《八月》這首歌曲有著近萬條評論(9490條,四捨五入就是一個億),而每條評論都有時間標記,因此首先來看看評論數的隨時間的變化情況。

用 pandas 自帶的 plot() 函式繪製評論數與時間戳的關係圖,可知在較長一段時期內此歌曲評論數都相對較少,且最早的評論出現在2014年12月20日;

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

而2018年8月6日之前這段評論數增多的時期裡,曲線呈現出明顯的週期性,即在每年的八月前後都會有較快速的增長,之後近一年則較為平緩,這很好地反映出《八月》這首歌所帶來的評論數的月份相關性,當然觀察發現其他“八月”同名歌曲則評論寥寥,可見流量與“風光”已經被八尾旅人這首歌所獨佔。

而將時間戳轉化成年月日,並首次用 pyecharts 進行視覺化後,能更加直觀的看到評論數的變化情況,確實如上所述,週期性、月份相關性明顯。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

而單日評論數破400的出現過兩次,破100的較為直觀的有三次。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

統計出評論數 Top20 的日期後,更多的奧祕也得以揭露:對於我來說,點開《八月》這首歌的緣故在於新的月份來臨時揮之不去的一些念想,這與圖中2016-2018這三年裡位居前列的8月1日的資料所反映出的聽友的行為與現象或許相同;而之不同的則是,8月末、9月初對即將或已經結束的八月的“悼念”。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

本回暫時沒有對不同時期評論的文字內容進行比較和分析,可待後續補充。

詞不達意之 emoji

在日常的網上聊天或評論區,emoji 表情是許多人所熟悉並頻繁使用的一大“神兵利器”。較之文字的歧義性與表達的侷限性,emoji 有著直觀、魔性、好玩等諸多特性。

同樣的在《八月》這首歌底下也有諸多聽友留下的 emoji 表情,因而本回也對近萬條評論裡所有出現的過的 emoji 進行了統計,需要指出的是爬蟲拿到的資料裡 emoji 是以英文中括號及表情含義的格式表示的,如,評論區使用最多的就是:`[愛心]`(請腦補對應的 emoji 圖形),因而在提取步驟也需要用相應的正規表示式來提取 emoji 並進行統計,具體程式碼參見:github.com/DesertsX/gu…

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

想來大家無一日不用表情包,不一日不鬥圖斗的飛起,那麼請諸位將這裡的60箇中文含義(下面有62個,有倆是亂入的)與下圖60個 emoji 匹配上吧,優勝者即可獲得“emoji 大師”的稱號,至於答案的話,也在程式碼此圖的附近

{`[圈]`, `[奸笑]`, `[拜]`, `[禁止]`, `[大哭]`, `[示愛]`, `[痛苦]`, `[外星]`, `[生氣]`, `[月亮]`, `[發怒]`, `[跳舞]`, `[撇嘴]`, `[憨笑]`, `[親]`, `[流感]`, `[心碎]`, `[假裝看不到桌上成堆的作業]`, `[禮物]`, `[惶恐]`, `[幽靈]`, `[公雞]`, `[親親]`, `[這邊]`, `[聖誕]`, `[狗]`, `[口罩]`, `[呲牙]`, `[女孩]`, `[鑽石]`, `[流淚]`, `[星星]`, `[兔子]`, `[驚恐]`, `[愛心]`, `[牽手]`, `[弱]`, `[暈]`, `[八月]`, `[吐舌]`, `[皺眉]`, `[嘴脣]`, `[生病]`, `[色]`, `[豬]`, `[大笑]`, `[愛意]`, `[汗]`, `[呆]`, `[哀傷]`, `[開心]`, `[貓]`, `[鍾情]`, `[鬼臉]`, `[蛋糕]`, `[男孩]`, `[強]`, `[小雞]`, `[叉]`, `[怒]`, `[可愛]`, `[便便]`}

注:`[假裝看不到桌上成堆的作業]`/ `[八月]` 不是 emoji 表情,而且有人用了中括號,從而被提取出來的。 不過想到要是真有`[假裝看不到桌上成堆的作業]`這個 emoji 表情,估計也蠻好玩的,就等哪位大佬開腦洞做一個吧。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

另外,網易雲音樂裡支援60個 emoji,而評論里居然每個 emoji 都被用到了,是不是覺得很神奇,畢竟 `[便便]` 這種可不太清真。而真相就是,為了找出每個 emoji 與中文含義的對應關係,我在評論區手動輸出了所有 emoji,從而算是在分析與挖掘這首歌的評論的過程中,留下了稍顯莫名其妙的印記,因而也就不刪除了。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

而拿到對應關係後,Top10 emoji 也就非常直觀了,可粗淺的分為開心與傷感兩類(彷彿一句廢話)。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

如果選擇其一進行研究,比如包含 `[流淚]` emoji 的評論裡都在說些什麼呢?用 jieba 提取關鍵詞,並展示部分結果……大概是小年輕們的情情愛愛;或單身狗流竄至此;或開學在即,假期餘額不足;或生活中糟糕、艱難困苦的吐露等等,不可勝計,再說我也要流淚了(此處應該有《這個殺手不太冷》那句生活是否總是如此艱難的配圖)

流淚 八月 網易 … 憨笑 開學 首歌 一年 不要 感覺 男朋友 單身 快點 沒有 12 天吶 喜歡 愛情 哭腔 心碎 音樂 克里 日語 大叔 聽到 就要 推薦 驚恐 大哭 希望 明明 勇氣 可愛 七月 感謝 謝謝 九月 一個 評論 適合 示愛 痛苦 時候 認真 無國界 好累 奸笑 柯達 故事

再用詞雲視覺化這部分評論裡出現的高頻詞,相關解讀還是需要結合對應評論文字進行,所以還是推薦讀者看這部分程式碼篩選出裡評論吧:

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

詞雲

最後再放一張全部近萬條評論的高頻詞繪製而成的詞雲圖,同樣不在本文進行解讀了。

當你點開這首《八月》的歌:9400餘條評論的分析與挖掘

最後程式碼開源在:github.com/DesertsX/gu…,涵蓋網易雲音樂歌曲評論爬蟲,資料分析、挖掘和視覺化的所有程式碼,本文提及的遠不如程式碼裡詳實,不過鑑於 jupyter notebook 裡程式碼還有些混亂,調整後會陸續放上去。

相關文章