我用Python爬取網易雲音樂上的Hip-hop歌單,分析rapper如何押韻

來源:互聯網
上載者:User

標籤:大量   計數   atp   網易雲   gone   core   老子   alt   哈哈   

緣起

《中國有嘻哈》這個節目在這個夏天吸引了無數的目光,也讓嘻哈走進了福士的視野。作為我今年看的唯一一個綜藝節目,它對我的影響也蠻大。這個夏天,我基本都在杭州度過,在上下班的taxi上,我幾乎都在刷這個節目,最後可以說是看了好幾遍。同時,也瞭解了flow、punchline、diss、酷炫的雙押、三押等等專業詞彙。

這其中,我尤其對押韻感興趣。我在想,如果,我把嘻哈歌手唱的所有押韻的詞彙都拿下來,然後只要給一個關鍵詞,就能隨時隨地來一段兒押韻的FreeStyle,是不是很炫酷~

大概思路

整體的思路很清晰,就是

歌單 -> 歌曲(歌詞) -> 分詞詞庫、拼音 -> 韻腳 -> 隨時隨地的FreeStyle

網易雲音樂網站爬取資料

首先進入網易雲歌單頁面,分類選擇“饒舌”:

可以看到網友們整理的饒舌的歌單都在這裡啦~對所有的歌單頁面爬取,得到饒舌歌單list,共1275張歌單:

進入其中一個歌單,有該歌單的歌曲頁面:

對所有歌單的歌曲頁面進行爬取,得到歌曲list, 共得到1W+首歌曲

取得每首歌曲的songId,調用歌詞API (http://music.163.com/api/song/lyric?os=pc&id=509135896&lv=-1&kv=-1&tv=-1) 得到歌詞:

當然,網易雲還是做了一些反爬策略,剛開始測試的時候,我的真實IP就被拉黑了。返回大量503:

於是,找了一組代理IP,並且對爬蟲進行了限速,繞過了反爬機制。

爬取過程gif:

這樣大概過去了幾個小時,1W+的歌詞就都到手啦!

資料處理 (分詞,拼音解析,擷取雙押、三押)

接著是將每首歌的歌詞進行分詞,使用開源的結巴分詞進行並行分詞,使用舉例如下:

可以看到這句話的切分結果還是讓人滿意的。

結巴分詞還可以對一段詞分詞後進行統計:

這樣就可以對一篇文檔進行分詞及統計計數。於是我把每首歌都進行分詞,把結果扔到了redis的zset結構中,出現次數記為score。完成之後,我基本就擷取了整個嘻哈歌單的所有歌曲的全部詞庫。

接下來的問題是,如何將詞庫裡的詞轉為拼音呢?開源的xpinyin解決了這個問題,使用舉例如下:

xpinyin識別出了火鍋底料對應的拼音組成。

那麼韻腳又是什麼東西呢?

拿 Jony-J的 《套路》舉例, 邁步(mai-bu)、態度(tai-du)、外露(wai-lu)、帶路(dai-lu), 其中的韻腳是 ai-u。

那麼我該怎麼擷取詞的韻腳呢?經過觀察,我發現可以用 “aeiou” 作為字的分界, 取當前以及後面的部分為韻腳(這個其實比標準押韻要嚴格)

比如,火鍋底料 -> huo-guo-di-liao -> uo-uo-i-iao

詞雲

用嘻哈音樂裡的詞去產生詞雲,可以直觀的看到嘻哈歌手們歌裡主要在唱些什麼:

來段兒FreeStyle吧

前戲已經做足了,現在,我想要以”炒飯“為話題來一段兒FreeStyle(靈感來源於PGONE的炒麵FreeStyle),於是我先搜了”炒飯“:

有很多雙押的詞,那我就用這些詞來一段兒rap吧!

視頻在此,前方核能!

 

https://v.qq.com/x/page/q05574kytoi.html

 

炒飯FreeStyle (PGONE風格,我最屌,你們都是傻逼)

beat: Rap God (Instrumental)

yo yo yo, whatsup.

This is MC YOUNG.

炒飯FreeStyle

LISTEN.

drop the beat DJ.

yo, yo, yo, yo, listen, listen, listen, check it.

Ready Ready Ready Ready Ready Ready Ready

不要聽信那些謠言,

這隻是對你的考驗。

這場show我才是導演,

AKA你的老闆。 ya ya

你若是再搗蛋,

年過三旬的老漢,

送你豪華的套餐,

滾回家去吃炒飯。

yeah 哥們兒的verse就是這麼高產,

yeah 不像那些個盜版的hater讓人討厭,

也不好看,只會搗蛋,

還試圖高攀那靠山, ya ya

攀不上了只會說好難,

到最後發現對面的我才最耀眼。 skr skr

誒, 你問我是哪個,

look at me,

老子一身正氣浩然,

銅鑼灣的陳浩南。 punchline

雙押*19 達成 !

這段rap用 Final Cut Pro X 剪下視頻,做的字幕。第一次做視頻,大家見諒哈哈。

挖坑

挖個坑,下次寫一個輸入一個詞,能實現以這個詞為核心自動產生一段意思大致通順的押韻的rap的功能。

歡迎關注我的公眾號“蘆陽以為”~

掃一掃
關注該公眾號

我用Python爬取網易雲音樂上的Hip-hop歌單,分析rapper如何押韻

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.