一、分析音頻下載相關鏈接地址
1. 分析專輯音頻列表頁面
在 PC端用 Chrome 瀏覽器中打開 喜馬拉雅 網站,打開 Chrome開發者工具,隨意打開一個音頻專輯頁面,Chrome開發者工具中返回如下圖結果:

經過分析專輯音頻列表地址為
https://www.ximalaya.com/revision/album/getTracksList?albumId=12378382&pageNum=1
其中:
- albumId 專輯ID
- pageNum 頁號
返回的頁面內容是 json 格式,相比於 html 源碼,json 還是很容易處理的,下載音頻只需要用到如下參數:
- tracks 音頻信息列表
- tracks -> title 音頻標題
- tracks -> trackId 音頻ID
2. 分析音頻下載鏈接地址
隨意播放一個音頻,在Chrome開發者工具中返回如下圖結果:

經過分析專輯音頻下載鏈接為
其中
- trackIds 音頻ID
返回的頁面內容也是 JSON 格式,其中 tracksForAudioPlay 字段包含了音頻的相關信息,其 src 就是音頻下載地址。
- src 音頻下載鏈接
- trackName 音頻名稱
- trackId 音頻ID
二、編寫代碼
1. 安裝相關依賴模塊
本程序使用 requests 訪問 web 頁面,因此需要安裝 requests 模塊
pip install requests
2. 編寫代碼
提取專輯內的音頻列表信息,如下:

提取音頻下載地址,如下:

下載音頻文件,如下:

完整源碼:

