Python爬取酷我音乐排行榜歌曲~

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

开发工具

  • python 3.6.5
  • pycharm
import requests

相关模块可pip安装

目标网页

在这里插入图片描述

  • 获取歌曲真实地址

在这里插入图片描述
在这里插入图片描述

  • 找到接口数据

在这里插入图片描述

  • 接口数据参数

在这里插入图片描述
每个歌曲的 ridtreqld 三个参数是会改变的

  • rid:歌曲的id
  • t:时间戳
  • 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))

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fei347795790/article/details/108956918