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()