@
目錄
API說明:
注意事項
如何擷取音樂MP3下載下傳位址
免費歌曲
付費歌曲
下載下傳歌曲
requests解析網頁例程
歡迎關注 『Python』 系列,持續更新中
爬蟲實戰之免費爬取付費音樂(保姆級圖文+詳細代碼注釋+完整項目代碼)
免責聲明:本文的初衷是學習爬蟲知識的一個執行個體,通過程式下載下傳的版權音樂24小時侵删。
你是不是在pc端上經常遇到這種情況——音樂無法下載下傳,必須下載下傳用戶端才能下載下傳?
爬蟲可以解決這個麻煩!
response=requests.get(參數1,headers=參數2)
參數1:url 存放被爬取的網頁url位址
參數2:可選參數,通路頭,模拟浏覽器通路資訊
傳回值:200表示爬取解析網頁成功
用了反爬機制,自定義headers
time子產品用于擷取目前時間,給檔案命名,其實也可以爬取歌曲名字來指令下載下傳好的歌曲檔案(給大家提供一個思路)
因為這隻是學習測試,隻支援單個歌曲的下載下傳,很簡陋,嚴禁使用本程式大面積下載下傳收費音樂營利!
爬取資料的前提首先是别人讓你爬取才行,問題在于找到音樂檔案的下載下傳位址!
我們先從免費歌曲開始(付費歌曲在免費歌曲的基礎上演變而來)
谷歌浏覽器右鍵檢查(有些浏覽器叫審查元素)
在新打開的這個頁面中選擇網絡(network)頁籤,點選重新整理(如果你之後下載下傳第二首音樂不重新整理的話總是顯示第一首音樂)

随便找一首歌曲:<code>http://www.kuwo.cn/play_detail/197789527</code>打開網頁
在這個網絡視窗中按<code>F5</code>重新整理,注意確定音樂播放的歌曲是你想要的歌曲
你會發現原來空白的網絡多了很多東西
然後搜尋MP3,找到playurl
右鍵,在新标簽頁中打開
到這裡,我們得到了一個存放MP3檔案位址的json位址
<code>http://www.kuwo.cn/api/v1/www/music/playUrl?mid=197789527&type=music&httpsStatus=1&reqId=23762b30-5e0f-11ec-857c-dfb0b0613858</code>
得到了音樂的下載下傳位址
<code>https://cr-sycdn.kuwo.cn/6ca645b59ddbbda92b20cb7484ce8d60/61ba9655/resource/n2/50/97/3993078800.mp3</code>
和免費歌曲類似,但是你會發現無法擷取到他的playurl!
做法:你先擷取到一個免費歌曲的存放MP3檔案位址的json位址
你可以多試試幾首歌曲,你會發現這裡的mid參數是歌曲的一個标志參數
那麼你把免費歌曲的mid參數換成付費的試試看:(把197789527換成了228908)
<code>https://www.kuwo.cn/api/v1/www/music/playUrl?mid=228908&type=music&httpsStatus=1&reqId=23762b30-5e0f-11ec-857c-dfb0b0613858</code>
把其中的<code>type=music</code>改變成<code>type=mp3</code>
<code>https://www.kuwo.cn/api/v1/www/music/playUrl?mid=228908&type=mp3&httpsStatus=1&reqId=23762b30-5e0f-11ec-857c-dfb0b0613858</code>出現了MP3的下載下傳位址
打開MP3位址
下圖情況有可能是因為url有時效性,我的url你肯定用不了,你得通過上面的擷取url教程自己手動擷取。
随便找一個音樂的播放網址:<code>http://www.kuwo.cn/play_detail/197789527</code>
下載下傳成功
大家喜歡的話,給個👍,點個關注!繼續跟大家分享敲代碼過程中遇到的問題!
版權聲明:
發現你走遠了@mzh原創作品,轉載必須标注原文連結
Copyright 2021 mzh
Crated:2021-12-16
【Python安裝第三方庫一行指令永久提高速度】 【使用PyInstaller打包Python檔案】 【更多内容敬請期待】