傻瓜式下載“喜馬拉雅”音頻文件


 

今天刷水木看到一個問貼,如何下載喜馬拉雅音頻文件?

看了幾個回帖,有人說app端可以下載,有人說需要解密,也有人說可以用錄屏大師翻錄一下

這里,我提出一個新的解決辦法,就是從原網頁中抽絲剝繭的找到源文件,直接右鍵下載到本地

當然,如果是批量下載的話需要借住python3爬蟲,因為是格式化的json數據,找到了規則非常簡單,可以參考我之前寫的網易雲歌曲的下載方法

這里就不再重復貼出代碼了

 


 

 

 首先打開喜馬拉雅網頁版,隨便點擊一個節目,這里我用平時常聽的“早安英文”舉例

https://www.ximalaya.com/waiyu/3373990/222313675

 

 按F12打開開發者工具,然后選擇network下的ALL或者XHL

 

 

點擊播放音頻按鍵,觀察開發者工具中的變化,可以發現迅速的刷新出來很多條

找到開頭為audio的這一條(不要問我為什么不選其他的,這是爬多了的經驗啊經驗!)

 

 單擊這一條,觀察右側,copy出來框圖的網址,在瀏覽器中打開此網址

 

這里推薦使用Chrome瀏覽器,並且使用FEhelper這個插件,因為網址中的數據是json格式的,用這個插件會自動美化

 

 copy上圖中src這個鏈接,通過瀏覽器打開會有驚喜呦,如下圖所示:

 

 點擊旁邊的“點點點”就下載就ok啦(不同的瀏覽器可能會略有區別)

 

 測試了一下,可以正常播放,默認的文件格式是.m4a(我也不造這是啥格式嘛……)

 

至此,怎么下載單個音頻文件搞定了。

總結一下規律,其實就是找到scr這個鏈接,但是發現這個鏈接音頻的命名貌似並沒有什么規律可循,因此還是要追溯到上一層級

https://www.ximalaya.com/revision/play/v1/audio?id=222313675&ptype=1

我們來看一下這個網址的規則,其實就是id不同,那么對於其他的節目而言,只要把id值更換即可

id值就是原網頁中的啦https://www.ximalaya.com/waiyu/3373990/222313675 紅色部分啦

bingo!

 


 

如果是想批量下載一個專輯的音頻文件,怎么辦呢?

首先還是回到“早安英文”首頁上,紅色的部分其實就是專輯ID

 https://www.ximalaya.com/waiyu/3373990/

 

 

同樣是按F12打開開發者工具,找到右側框圖里的網址

 

 

並通過瀏覽器打開https://www.ximalaya.com/revision/album/v1/getTracksList?albumId=3373990&pageNum=1

網址中紅色部分就是專輯ID以及頁碼數

 

 獲取的json信息中可看到,單個的音頻信息都在tracks中,其中trackId就是單個音頻文件的id,也就是需要我們爬取下來的音頻id

下拉到這個json信息的最后,可看到本頁音頻文件數量和頁碼數

 

總結一下怎么批量下載一個專輯里的所有音頻文件:

1. 找到這個專輯的ID號,通過打開瀏覽器網頁觀察

 

2.構建獲取json數據的網址,格式如下:

https://www.ximalaya.com/revision/album/v1/getTracksList?albumId=專輯ID&pageNum=頁碼數

3.  獲取json數據中每個音頻文件的ID 即trackId

4. 構建每個音頻文件的json數據網址,格式如下:

 https://www.ximalaya.com/revision/play/v1/audio?id=單個音頻文件ID&ptype=1

5. 通過瀏覽器打開步驟4的網頁,即可下載文件

6. 遍歷步驟2的每頁

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM