01 - 喜馬拉雅
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。