前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
python免费学习资料以及群交流解答点击即可加入
开发工具
python 3.6.5pycharm
import requests
相关模块可pip安装
目标网页
获取歌曲真实地址
找到接口数据
接口数据参数
每个歌曲的 rid 、t 、reqld 三个参数是会改变的
rid:歌曲的idt:时间戳reqid:不知道啥可以当作不变
所以咱们获取到每首歌的id就可以获取所有歌曲的下载地址
全局搜索一下就可以找到这个数据接口
可以发现接口数据有我们需要的rid参数
代码部分
请求网页获取歌曲ID以及歌曲名字
import requests
for page
in range(1, 11):
print('=====================正在下载第{}页歌曲========================='.format(page
))
url
= 'https://www.kuwo.cn/api/www/bang/bang/musicList?bangId=93&pn={}&rn=30&httpsStatus=1&reqId=d6378280-089a-11eb-84db-b5d33ec180f3'.format(page
)
response
= requests
.get
(url
=url
, headers
=headers
)
html_data
= response
.json
()
result
= html_data
['data']['musicList']
for i
in result
:
rid
= i
['rid']
name
= i
['name']
拼接歌曲地址保存歌曲
page_url
= 'https://www.kuwo.cn/url?format=mp3&rid={}&response=url&type=convert_url3&br=128kmp3&from=web&t=1602074319463&httpsStatus=1&reqId=06a89771-089a-11eb-84db-b5d33ec180f3'.format(rid
)
response_2
= requests
.get
(url
=page_url
, headers
=headers
)
page_data
= response_2
.json
()
download_url
= page_data
['url']
def download(url
, name
):
filename
= 'D:\\python\\demo\\酷我音乐\\音乐\\' + name
+ '.mp3'
response_3
= requests
.get
(url
=url
)
with open(filename
, mode
='wb') as f
:
f
.write
(response_3
.content
)
print('歌曲{}已经下载完成'.format(name
))