🎧 喜马拉雅音频下载

📋 功能说明
  • 获取专辑音频列表
  • 下载音频文件(.m4a格式)
  • 支持批量下载
💻 源代码
import requests
import json
import os

def download_ximalaya(album_id, size=30):
    """下载喜马拉雅专辑音频"""
    url = f'https://www.ximalaya.com/revision/play/v1/show?id={album_id}&sort=1&size={size}&ptype=1'
    
    headers = {
        'User-Agent': 'Mozilla/5.0 Chrome/78.0.3904.108'
    }
    
    r = requests.get(url, headers=headers)
    result = r.json()
    
    # 创建保存目录
    if not os.path.exists('audio'):
        os.mkdir('audio')
    
    content_list = result['data']['tracksAudioPlay']
    
    for content in content_list:
        t_id = content['trackId']
        name = content['trackName']
        
        # 获取音频URL
        audio_url = f'https://www.ximalaya.com/revision/play/v1/audio?id={t_id}&ptype=1'
        audio_resp = requests.get(audio_url, headers=headers)
        audio_src = audio_resp.json()['data']['src']
        
        # 下载音频
        audio_content = requests.get(audio_src).content
        with open(f'audio/{name}.m4a', 'wb') as f:
            f.write(audio_content)
            print(f"下载完成: {name}.m4a")

# 示例: 下载专辑ID 231012348 的前30个音频
download_ximalaya(231012348)
📦 运行环境
pip install requests
参数说明
  • album_id: 专辑ID
  • size: 下载数量
获取专辑ID方法:
  1. 打开喜马拉雅网页版
  2. 进入专辑页面
  3. URL中的数字即为专辑ID