音樂的力量,我用python衡量
每一次流水的沖刷,雖微不足道,經久不息,終成沃野千里,魚米之鄉;一縷微風的吹拂,雖了無痕迹,經久不息,鑄就石林山海,造化奇觀。滄海桑田,起源於微小的力量。不是每一個音符都足以震撼,不是每一句歌詞都引人深思,但網易雲音樂卻成功地闡釋了音樂的力量。
儘管網易雲音樂的版權越來越少,很多很多人(特別是大學生群體)仍然對它情有獨鍾。最主要的原因是網易雲音樂把自己與社交緊密地結合起來,而其它音樂軟體的社交化都沒能做得像網易雲這麼好——比如網易雲音樂的評論功能、點贊功能、關注用戶和查看用戶歌單的功能等等,都是其它平台做不到的。
而在這篇推送里,我將介紹村長、袁佬和我在這學期一起利用python編程完成的對網易雲音樂用戶數據的一些分析。我會先介紹我們爬取的數據,再具體地展開分析。首先我們確定我們獲取的數據是沒有錯誤的。但是由於爬取數據的過程相當漫長而且麻煩,並且網易雲很多榜單每周更新一次,所以我就只使用兩三周前的數據啦,反正問題不大。而至於爬蟲的思路和源代碼,我是不會公開的。提醒:雖然我會盡量用通俗的語言來介紹,但是這篇推送前半部分還是會表現出難以避免的較強的專業性,看不懂請跳過。
首先,我們先來看網易雲音樂網站的首頁,長這個樣子。我們所有獲取的數據的最根本的起點都是它。
下面這張是熱歌榜的歌單,是四周前發布的(但是我們後面分析用的是三周前的熱歌榜)。歌單里每首歌的歌名都是一個超鏈接,點進去就是歌曲的詳細信息。在這個頁面里,我們就能獲取熱歌榜所有歌曲的名字和它們超鏈接所指向的URL。
接下來,我們隨便點進一首歌,滾動網頁到下面就是雲村村民對這首歌的評論。在下面的截圖裡,右邊展示的是網頁的審查元素,它具體有什麼用比較複雜,我就不說了。
看完上面的簡單介紹之後,我終於可以介紹我們獲取的具體目標數據內容了。就是它們(數據量真的很龐大):
好了,接下來我就開始介紹我們的數據分析結論了。下面所有的圖表點開大圖之後都可以看得更清楚。
雲村村民性別比例怎麼樣?
通過對爬取到的用戶數據進行分析,我們可以用python生成這張餅狀圖。可以看到,雲村村民男女性別所佔百分比大致是均衡的,都是40%多一點。因此,雲村的男女比例還是比較和諧的。
哪裡的人最不挑食?
這張圖表示各個省份的用戶人均聽歌數量。雖然人均聽歌數跟挑不挑食不一定成正比,但我們覺得它們至少還是存在正相關關係的。比方說,我聽歌比較挑剔,於是我會把喜歡的一首歌播上好多遍;而不挑食的網友更可能會廣泛涉獵,幾乎天天都會把每日推薦的歌曲聽個遍。在這張圖裡我們看到,北京、澳門、香港網友的平均聽歌數遙遙領先,人均聽歌超過2500首。但是呢,這反映的可能並非真實情況。因為我們通常會發現,越是文藝(或者有小資情調emmm)的用戶越喜歡把自己的地區設在港澳台這些地區。而至於北京……則有可能是不少住在天津河北卻在北京工作或者心在北京的年輕人設置的,這些用戶可就是網易雲音樂的主力軍啊。
資深雲村長者在哪?
我們把各地網友的平均等級數排了個序,你可以看到前三名依然是香港、北京、澳門。而如果你再仔細比較這張圖和前面那張平均聽歌數的圖的話,你會發現後面省份的排序也非常相似。我們確定我們的數據沒有獲取錯嗯……於是,我們把這兩組數據放在一起,算出了它們的線性相關係數|r|,結果它高達0.9993571055609747,也就是說,它們存在著強烈的相關關係。這就又得出了一個好玩的結論:
震驚!雲村長者竟然不挑食!
哪裡的村民最吸粉?
我們把每個地區的用戶平均粉絲數排序之後發現各個省份的平均每個用戶的粉絲數區別相當大:最多的是北京,平均一人足足有300多個粉絲,而最少的是重慶,平均一人只有十多個粉絲。為什麼會出現這種現象呢?我前面已經提到,我們反覆確認過,數據來源、數據內容都沒有問題,那麼合理的解釋也就大概是——北京用戶喜歡互粉???當然,更可能的原因是有很多音樂人就住在北京/香港/澳門。
於是呢,我去找了一位北京同學求證,卻出現了下面令人智熄的對話:
翻車現場
哪裡的村民話最多?
這個問題對應的數據來源於熱歌榜所有歌曲下前60頁評論用戶的省份信息。很顯然,每首歌下面平均有超過2700條評論都是廣東旁友發表的,並且這個數量比第二名的四川朋友足足高出900條。
我覺得這個還是能解釋一下的:廣東的年輕人本來就多,所以用網易雲音樂的用戶數也就跟著多,然後很多廣東旁友還很喜歡發評論-。-不信?你可以採訪一下身邊的非廣東朋友,通常他們發表評論的積極性比廣東人低一點。
好了,接下來我們來看整個網易雲音樂不同類型的歌曲的歌詞詞雲,詞雲里越大的詞代表在所有歌詞里這個詞出現的頻率越高。
首先是清新。
知道了這些高頻詞之後,我們就可以造個清新的句子:「在愛情的世界裡,天空的眼淚就像是時間的感覺。」這就是個典型的清新的句子。
接下來依次是思念、治癒、勵志的歌曲歌詞詞雲,我就不啰嗦了。
接下來,一個腦洞在我頭裡逐漸形成:我們聽紅歌、愛國歌曲的時候總會覺得那個歌詞一看就又紅又專,那麼為什麼我們能如此判斷呢?於是,我製作了愛國歌曲的歌詞詞雲。真的又紅又正。南海的島太小了沒法形成文字,所以看起來只有一片大陸,不過它真的是我利用完整的中國地圖生成的。
看了上面的分析之後,再來看看具體歌曲。兩周前的熱歌榜第一名是薛之謙的《那是你離開了北京的生活》。(我真沒覺得這首歌有多好聽......)下面這張是這首歌的評論詞雲。不得不說,網易雲音樂的LOGO還是很好看的。
更厲害的來了!這是統計了薛之謙的所有歌曲的歌詞後給薛之謙量身定製的剪影,那個「錄音室」是個忘記去掉的bug。。。
從這張圖我們能看出,薛之謙的歌主打情感牌,像什麼感情啦愛情啦思念啦花兒啦世界啦故事啦,反正大多都是這張風格。先記住它,我們再來看下面的內容。
這是熱歌榜全部歌曲下評論的熱詞,用python編程製圖的時候,它運行了好久好久因為數據量真的很大。這張圖也是我們最寶貴的圖之一(但是經過微信轉碼以後好像變糊了?),因為為了獲取它的數據我們經歷了重重困難——比如什麼數據被加密啦,什麼IP被封了好多次啦諸如此類。
但是,歷盡千辛萬苦之後(mei you)我們終於成功地製作出了它。我們可以發現,網易雲音樂用戶評論的高頻詞跟薛之謙的歌詞風格很像,都是比較容易引起共鳴的詞,像時間、愛心、兄弟、故事、感覺、畢業等等這些詞。於是我們就有了一個更厲害的結論:薛之謙之所以能這麼火,說不定是他很懂聽眾的內心(當然更可能是聽眾對他的歌詞有好感)。
接下來看幾張逼格很高的圖。
這是網易雲新增歌單數隨時間變化的情況。從2017年開始,新增歌單數迅速增加。
下面這張呢,是新增收錄歌曲數隨時間變化的情況。第一眼看過去好像沒什麼規律,但如果你仔細看,你會發現每逢寒假和暑假的那段時間,新增收錄歌曲數就回比平時高出不少。
這張,是收藏數與播放數隨時間變化的關係。
播放量高的歌單收藏量也高,說明數據還是比較有說服力的,收藏越多表明越被用戶喜歡,自然播放量就高。可以看到,在2015年播放數突然就出現了一個高峰。我們推測,原因是在2015年,中國的4G移動互聯網被大力普及,並且隨著「提速降費」要求的提出,越來越多的人上網或使用移動設備的時間大幅增加。於是,用戶體驗良好的APP自然備受青睞。也就是從那時開始,網易雲音樂在國內市場開創出了一片新天地(雖然它的網頁不咋滴)。而2015年前創建的老歌單無論是收藏量還是播放量都不及新創建的歌單,說明聽眾還是傾向於選擇聽新歌。但同時隨著新創建的歌單數目增多,歌單想要脫穎而出則越是需要時間的考驗。
接近尾聲,我們來看看爬取到的一小部分用戶頭像吧。
只要你掃一眼過去,你應該就能發現,用戶頭像絕大多數都是動漫形象和自拍照這兩種類型,而風景照啦花花草草啦這種比較中年畫風的頭像幾乎一個都沒有。
GIF
最後,我想特別感謝村長和袁佬。跟他們組成一個團隊完成這份分析真是很幸運,他們特別特別負責、認真而專註。雖然爬取數據的過程很讓人抓狂,但是一起完成它的時候我真是感到相當有成就感。特別要感謝村長,有很多關鍵的函數代碼都是他又開腦洞又查資料寫出來的,真的很棒!我常常覺得,在南大的平台上認識像他們一樣這麼多這麼好的人,真是我極大的幸事。他們一個去了金融工程,一個去了金融學,對他們來說應該是個滿意的結果。衷心祝福他們。
最近真是太忙啦,今天終於又有空推送了,我覺得海星。這篇是一周前開始寫的,但是現在才寫完。


TAG:新橙形成星辰 |