import requests
import json
# 1 拿到统一的url
# url = 'https://www.ximalaya.com/revision/play/album?albumId=291718&pageNum=1&sort=-1&pageSize=30'
# https://www.ximalaya.com/revision/play/album?albumId=291718&pageNum=2&sort=-1&pageSize=30
for i in range(10):
url = 'https://www.ximalaya.com/revision/play/album?albumId=291718&pageNum=%d&sort=-1&pageSize=30' % (i + 1)
# 模拟浏览器
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
'xm-sign': 'bfec066e76079d290c3169ef896df980(88)1559285500496(86)1559285502137'
}
# 2 拿到response里面的数据 <Response [200]> 是请求成功
r = requests.get(url,headers=headers)
ret = r.text # 从Response里面获取文本信息
# print(ret,type(ret))
# 3 拿到所有音频的链接地址
result = json.loads(ret) # 把json的字符串变成字典
# print(result)
# print(type(result))
content_list = result['data']['tracksAudioPlay']
for content in content_list:
# print(content['src'])
src = content['src'] # 链接地址
name = content['trackName'] # 音频名字
# 4 保存所有音频文件
with open('MP3/%s.m4a' % name, 'wb') as f:
mus = requests.get(src)
f.write(mus.content)
02.何理解python中的none?
在python语言中,对于none需要记住以下几点:
1.None是一个特殊的常量。
2.None和False不同。
3.None不是0。
4.None不是空字符串。
5.None和任何其他的数据类型比较永远返回False。
6.None有自己的数据类型NoneType。你可以将None复制给任何变量,但是你不能创建其他NoneType对象。
7.python中的None就相较于Java中的Null。python中就没有所谓的NULL。