python-爬取喜马拉雅的音频

本文介绍了一种使用Python爬取喜马拉雅音频的方法,包括如何通过抓包获取音频链接,利用requests库下载音频文件,并通过selenium库实现自动化操作。文章详细展示了代码实现过程,适用于希望批量下载喜马拉雅音频资源的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.打开喜马拉雅

2.随便选择一个音频,链接后面的就是专辑id

3.手机抓包,获取到的json链接:

"https://www.ximalaya.com/revision/play/album?albumId="+albumId+"&pageNum="+str(pageNum)+"&sort=-1&pageSize=30"

4.代码供上:

# -*- coding: utf-8 -*-
import json
import time
import SendKeys
import requests

from selenium import webdriver
from selenium.webdriver import ActionChains
from  selenium.webdriver.support.ui import  WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

class TestXiMaLaYaController():
    def bbb(self):
        pageNum = 1;
        while (pageNum != -1):
            albumId = "3561194";
            headers = {
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
            }
            url = "https://www.ximalaya.com/revision/play/album?albumId="+albumId+"&pageNum="+str(pageNum)+"&sort=-1&pageSize=30"
            print "url=",url

            content = requests.get(url,headers=headers).content
            print "content=",content
            python_dict = json.loads(content.decode())
            book_list = python_dict['data']['tracksAudioPlay']
            if len(book_list) == 0:
                pageNum = -1
                return

            for book in book_list:
                filename = '%s'%(book['trackName'])
                fileurl = book['src']
                print "请求地址:", fileurl
                print "名字:", filename
                response = requests.get(fileurl).content
                f = open(u'G:\\音乐\\评书\\希腊神话\\'+filename+'.mp3','wb')
                f.write(response)
                f.close()

            pageNum = pageNum+1

a = TestXiMaLaYaController()
a.bbb()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值