精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

抓取網易云音樂熱歌榜里的熱評的爬蟲

馬哥Linux運維 ? 來源:未知 ? 作者:李倩 ? 2018-09-03 11:39 ? 次閱讀

前一段時間剛剛入門python爬蟲,有大概半個月時間沒有寫python了,都快遺忘了。于是準備寫個簡單的爬蟲練練手,我覺得網易云音樂最優特色的就是其精準的歌曲推薦和獨具特色的用戶評論,于是寫了這個抓取網易云音樂熱歌榜里的熱評的爬蟲。我也是剛剛入門爬蟲,有什么意見和問題歡迎提出,大家一起共同進步。

廢話就不多說了~

我們的目標是爬取網易云中的熱歌排行榜中所有歌曲的熱門評論。

這樣既可以減少我們需要爬取的工作量,又可以保存到高質量的評論。

首先,我們打開網易云網頁版,如圖:

點擊排行榜,然后點擊左側云音樂熱歌榜,如圖:

我們先隨便打開一個歌曲,找到如何抓取指定的歌曲的熱門歌評的方法,如圖,我選了一個最近我比較喜歡的歌曲為例:

進去后我們會看到歌評就在這個頁面的下面,接下來我們就要想辦法獲取這些評論。

接下來打開web控制臺(chrom的話打開開發者工具,如果是其他瀏覽器應該也是類似),chrom下按F12,如圖:

選則Network,然后我們按F5刷新一下,刷新之后得到的數據如下圖所示:

可以看到瀏覽器發送了非常多的信息,那么哪一個才是我們想要的呢?這里我們可以通過狀態碼做一個初步的判斷,status code(狀態碼)標志了服務器請求的狀態,這里狀態碼為200即表示請求正常,而304則表示不正常(狀態碼種類非常多,如果要想詳細了解可以自行搜索,這里不說304具體的含義了)。所以我們一般只用看狀態碼為200的請求就可以了,還有就是,我們可以通過右邊欄的預覽來粗略觀察服務器返回了什么信息(或者查看響應)。通過這兩種方法結合一般我們就可以快速找到我們想要分析的請求。通過反復的查找,終于找到了含有歌評的請求,如圖:

可能截圖在CSDN上不是很清楚,我們在一個Name為R_SO_4_489998494?csrf_token=的POST請求中找到了包含這首歌的歌評。我們把這個分塊截圖發出來,這樣可以看的清楚一些:

請求基本信息:

請求頭部:

請求中的表單數據:

我們可以看到,包含這首歌歌評的請求url為http://music.163.com/weapi/v1/resource/comments/R_SO_4_489998494?csrf_token=,我們換了幾首歌后發現,這個請求的前部分都是一樣的,只是R_SO_4_后面緊跟的一串數字不一樣。我們可以推測出,每一首歌都有一個指定的id,R_SO_4_后面緊跟的就是這首歌的id。

我們再看一下提交的表單數據,我們會發現表單中需要填兩個數據,名稱為params和encSecKey。后面緊跟的是一大串字符,換幾首歌會發現,每首歌的params和encSecKey都是不一樣的,因此,這兩個數據可能經過一個特定的算法進行加密過的。

服務器返回的和評論相關的數據為json格式的,里面含有非常豐富的信息(比如有關評論者的信息,評論日期,點贊數,評論內容等等),其中hotComments就是我們要找的熱門評論,總共15條,如圖所示:

至此,我們已經確定了方向了,即只需要確定params和encSecKey這兩個參數值即可。但是這兩個參數是經過特定的算法進行加密的,怎么辦呢?我發現了一個規律,http://music.163.com/weapi/v1/resource/comments/R_SO_4_489998494?csrf_token=中 R_SO_4_后面的數字就是這首歌的id值,而對于不同的歌曲的param和encSecKey值,如果把一首歌比如A的這兩個參數值傳給B這首歌,那么對于相同的頁數,這種參數是通用的,即A的第一頁的兩個參數值傳給其他任何一首歌的兩個參數,都可以獲得相應歌曲的第一頁的評論,對于第二頁,第三頁等也是類似。

而我們其實只需要獲取第一頁的15條熱門評論,所以我們只需要隨便找一首歌,將這首歌第一頁中的該請求中的params和encSecKey這兩個參數值復制下來,就可以使用了。

關于這兩個參數如何解密,強大的知乎上其實已經有答案的了,感興趣的朋友可以進去看一下(https://www.zhihu.com/question/36081767),我們在這里就只需要用我們這種偷懶的辦法就可以完成需求了,xixi。

到此為止,我們如何抓取網易云音樂的熱門評論已經分析完了,我們再分析一下如何獲取云音樂熱歌榜中所有歌曲的信息。

我們需要獲取云音樂熱歌榜中的所有歌曲的歌曲名和對應的id值。

跟上面的分析步驟類似,我們先進入熱歌榜的網址,如圖:

按F12,進入WEB工作臺,如圖:

我們在一個名為toplist?id=3778678的GET請求中,找到了該榜單的所有歌曲信息。

請求對應的信息如圖:

我們預覽一下該請求返回的結果,如圖:

我們在代碼的第524行我們找到了包含歌曲信息的代碼,如圖:

因此,我們只需要將該請求的代碼中,將包含信息的代碼篩選出來。

我們在這里使用正則表達式進行數據篩選。

通過觀察特點,我們可以通過兩次正則表達式的篩選,將我們需要的歌曲信息提取出來。

第一次正則表達式我們將該請求返回的所有代碼中,提取出第525行代碼。

第一次正則表達式如下:

第二次正則表達式我們將該第524行中我們需要的歌曲信息提取出來,我們需要歌曲的歌名和id,對應的正則表達式如下:

獲取歌名:

  • (.*?)
  • 獲取歌曲的id:

  • .*?
  • 到此,我們整個過程已經分析完了,上代碼看具體細節~~

    代碼如下:

    代碼運行結果如下:

    對比一下網頁上《如果我愛你》這首歌的歌評和我們保存下的歌評:

    聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
    • python
      +關注

      關注

      56

      文章

      4782

      瀏覽量

      84449
    • 爬蟲
      +關注

      關注

      0

      文章

      82

      瀏覽量

      6839

    原文標題:Python3爬蟲抓取網易云音樂熱評實戰

    文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

    收藏 人收藏

      評論

      相關推薦

      【NanoPi Duo開發板試用體驗】3、安裝并運行網易音樂

      本帖最后由 jackeyt 于 2017-11-6 09:48 編輯 我們知道在手機或者電腦上想要安裝網易音樂類的音樂APP,是十分容易的事情來的,我們只要在軟件商店中選擇相應
      發表于 11-05 20:27

      網易首款智能音箱“三音”上線京東眾籌

        導讀:日前,網易在京東金融平臺發起“共創”活動,發動音樂愛好者共同打造其首款產品“網易三音音箱”。   7月23日9點,“網易三音
      發表于 07-28 09:29

      網易首款智能音箱“三音音箱”發布 京東眾籌價799元

      優化和升級硬件、精準定制產品。   從功能和產品性能來看,該音箱于市面上其他智能音箱基本類似。較為獨特的優勢則是關聯網易音樂。據銷售頁面提供的信息顯示,該音箱使用的是網易
      發表于 07-28 09:30

      Python爬蟲網易音樂下載

      …好了,不說廢話了。這次的目標主要是根據網易云中歌手的ID,下載該歌手的熱門音樂的歌詞和音頻,并保存到本地的文件夾中。配置基礎PythonSelenium(配置方法參照:Selenium配置)Chrome
      發表于 10-12 15:11

      Linux下如何安裝網易音樂

      1. 百度搜索網易音樂,打開網易音樂的官網
      發表于 07-22 08:22

      應對反爬蟲的策略

      正常訪問的目的,但是編寫爬蟲程序是很難得,尤其是根據實際情況調整程序代碼,所以除了自己編寫爬蟲程序,現在為了能讓大家更好的爬蟲抓取信息,有很多專業的采集器和軟件被研發出來,像億牛
      發表于 12-12 17:39

      小米手環隔空喊話網易音樂: 敢和我合作嗎?

      臨近小米新品發布會,近日小米手環官方微博表示有粉絲想要網易音樂定制版手環,并向網易音樂隔空喊
      發表于 04-19 08:57 ?1798次閱讀

      小米手環2的按扭和網易音樂的按扭一致,這是要合作嗎?

      今日,小米手環官方微博發話了,隔空喊話網易音樂,都知道網易音樂不知不覺間就火了,用戶量已增至
      發表于 04-24 09:01 ?3376次閱讀

      網易音樂氧氣耳機評測:129的價格到底貴在哪里?

      還是從大家喜聞樂見的開箱環節說起。網易音樂氧氣耳機的外包裝盒給人的第一印象是非常簡約,由于它將網易
      的頭像 發表于 05-02 06:52 ?6.1w次閱讀

      網易音樂獲阿里巴巴、鋒基金等共計7億美元融資

      9月6日消息,網易公司目前宣布,網易音樂獲阿里巴巴、鋒基金等共計7億美元融資。據悉,此次融資為網易
      的頭像 發表于 09-06 08:37 ?2884次閱讀

      知名智能穿戴廠商華米科技正式宣布與網易音樂達成合作

      9月16日,知名智能穿戴廠商華米科技正式宣布與網易音樂達成合作。根據雙方發布的合作內容顯示,9月22日網易
      的頭像 發表于 09-16 14:45 ?2012次閱讀

      網易音樂指控酷狗抄襲

      網易音樂官方微博喊話酷狗音樂,表示為一直戰斗在死盯網易
      的頭像 發表于 02-02 11:58 ?1780次閱讀

      網易音樂再度回應酷狗:偷梁換柱

      本周網易音樂與酷狗音樂之間的爭論成為業界關注的焦點。
      的頭像 發表于 02-04 15:44 ?2496次閱讀

      版權壟斷陰影下沖擊上市,為何網易音樂仍被市場看好?

      網易音樂又整了新活,其所推出的“色彩聲學研究室”刷屏社交網絡,許多人的朋友圈都被#網易人格主導色#占據。就在
      發表于 05-31 14:17 ?197次閱讀

      如何利用海外爬蟲IP進行數據抓取

      利用海外爬蟲IP進行數據抓取需要綜合考慮多個方面。
      的頭像 發表于 10-12 07:54 ?142次閱讀