小猿圈分享如何利用python網(wǎng)絡爬蟲獲取網(wǎng)易云歌詞

今天小猿圈給大家分享網(wǎng)易云音樂歌詞爬取方法。

本文的總體思路如下:

找到正確的URL赡译,獲取源碼;

利用bs4解析源碼不铆,獲取歌曲名和歌曲ID捶朵;

調用網(wǎng)易云歌曲API蜘矢,獲取歌詞;

將歌詞寫入文件综看,并存入本地品腹。

本文的目的是獲取網(wǎng)易云音樂的歌詞,并將歌詞存入到本地文件红碑。整體的效果圖如下所示:

趙雷的歌曲

本文以民謠歌神趙雷為數(shù)據(jù)采集對象舞吭,專門采集他的歌曲歌詞,其他歌手的歌詞采集方式可以類推析珊,下圖展示的是《成都》歌詞羡鸥。

趙雷歌曲---《成都》

一般來說,網(wǎng)頁上顯示的URL就可以寫在程序中忠寻,運行程序之后就可以采集到我們想要的網(wǎng)頁源碼惧浴。But在網(wǎng)易云音樂網(wǎng)站中,這條路行不通奕剃,因為網(wǎng)頁中的URL是個假URL衷旅,真實的URL中是沒有#號的。廢話不多說纵朋,直接上代碼柿顶。

獲取網(wǎng)頁源碼

本文利用requests、bs4操软、json和re模塊來采集網(wǎng)易云音樂歌詞嘁锯,記得在程序中添加headers和反盜鏈referer以模擬瀏覽器,防止被網(wǎng)站拒絕訪問聂薪。這里的get_html方法專門用于獲取源碼家乘,通常我們也要做異常處理,未雨綢繆藏澳。

獲取到網(wǎng)頁源碼之后烤低,分析源碼,發(fā)現(xiàn)歌曲的名字和ID藏的很深笆载,縱里尋她千百度扑馁,發(fā)現(xiàn)她在源碼的294行,藏在

    標簽下凉驻,如下圖所示:

歌曲名和ID存在的位置

接下來我們利用美麗的湯來獲取目標信息腻要,直接上代碼,如下圖:

獲取歌曲名和ID

此處要注意獲取ID的時候需要對link進行切片處理涝登,得到的數(shù)字便是歌曲的ID雄家;另外,歌曲名是通過get_text()方法獲取到的胀滚,最后利用zip函數(shù)將歌曲名和ID一一對應并進行返回趟济。

得到ID之后便可以進入到內頁獲取歌詞了乱投,但是URL還是不給力,如下圖:

歌詞的URL

雖然我們可以明白的看到網(wǎng)頁上的白紙黑字呈現(xiàn)的歌詞信息顷编,但是我們在該URL下卻無法獲取到歌詞信息戚炫。小編通過抓包,找到了歌詞的URL媳纬,發(fā)現(xiàn)其是POST請求還有一大堆看不懂的data双肤,總之這個URL是不能為我們效力。那該點解呢钮惠?

莫慌茅糜,小編找到了網(wǎng)易云音樂的API,只要把歌曲的ID放在API鏈接上便可以獲取到歌詞了素挽,代碼如下:

調用網(wǎng)易云API并解析歌詞

在API中歌詞信息是以json格式加載的蔑赘,所以需要利用json將其進行序列化解析出來,并配合正則表達式進行清洗歌詞预明,如果不用正則表達式進行清洗的話缩赛,得到原始的數(shù)據(jù)如下所示(此處以趙雷的歌曲《成都》為例):

原始數(shù)據(jù)

很明顯歌詞前面有歌詞呈現(xiàn)的時間,對于我們來說其屬于雜質信息贮庞,因此需要利用正則表達式進行匹配。誠然究西,正則表達式并不是唯一的方法窗慎,小伙伴們也可以采取切片的方式或者其他方法進行數(shù)據(jù)清洗,在此就不贅述了卤材。

得到歌詞之后便將其寫入到文件中去遮斥,并存入到本地文件中,代碼如下:

寫入文件和程序主體部分

現(xiàn)在只要我們運行程序扇丛,輸入歌手的ID之后术吗,程序將自動把該歌手的所唱歌曲的歌詞抓取下來,并存到本地中帆精。如本例中趙雷的ID是6731较屿,輸入數(shù)字6731之后,趙雷的歌詞將會被抓取到卓练,如下圖所示:

程序運行結果

之后我們就可以在腳本程序的同一目錄下找到生成的歌詞文本隘蝎,歌詞就被順利的爬取下來了。

相信大家對網(wǎng)易云歌詞爬取已經(jīng)有了一定的認識了襟企,不過easier said than down嘱么,小編建議大家動手親自敲一下代碼,在實踐中你會學的更快顽悼,學的更多的曼振。

這篇文章教會大家如何采集網(wǎng)易云歌詞几迄,那網(wǎng)易云歌曲如何采集呢?且聽小編下回分解~~~

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末冰评,一起剝皮案震驚了整個濱河市映胁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌集索,老刑警劉巖屿愚,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異务荆,居然都是意外死亡妆距,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門函匕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來娱据,“玉大人,你說我怎么就攤上這事盅惜≈惺#” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵抒寂,是天一觀的道長结啼。 經(jīng)常有香客問我,道長屈芜,這世上最難降的妖魔是什么郊愧? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮井佑,結果婚禮上属铁,老公的妹妹穿的比我還像新娘。我一直安慰自己躬翁,他們只是感情好焦蘑,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盒发,像睡著了一般例嘱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宁舰,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天蝶防,我揣著相機與錄音,去河邊找鬼明吩。 笑死间学,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播低葫,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼详羡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嘿悬?” 一聲冷哼從身側響起实柠,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎善涨,沒想到半個月后窒盐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡钢拧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年蟹漓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片源内。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡葡粒,死狀恐怖,靈堂內的尸體忽然破棺而出膜钓,到底是詐尸還是另有隱情嗽交,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布颂斜,位于F島的核電站夫壁,受9級特大地震影響,放射性物質發(fā)生泄漏沃疮。R本人自食惡果不足惜盒让,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望忿磅。 院中可真熱鬧糯彬,春花似錦凭语、人聲如沸葱她。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吨些。三九已至,卻和暖如春炒辉,著一層夾襖步出監(jiān)牢的瞬間豪墅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工黔寇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留偶器,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像屏轰,于是被迫代替她去往敵國和親颊郎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內容