一、打开网页https://music.163.com/,进入榜单(热歌榜)
二、右键检查、刷新网页,选择元素(点击歌曲名)
文章来源:https://www.toymoban.com/news/detail-723867.html
三、相关代码
import requests
#正则表达式模块内置模块
import re
import os
filename = 'music\\'
if not os.path.exists(filename):
os.mkdir(filename)
#如果想要爬取其他榜单的内容,只需要更改请求URL中的ID
url = 'https://music.163.com/discover/toplist?id=3778678'
#请求头
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
response = requests.get(url=url,headers=headers)
# print(response.text)
html_data = re.findall('<li><a href="/song\?id=(\d+)">(.*?)</a>',response.text)
for num_id,title in html_data:
music_url = f'http://music.163.com/song/media/outer/url?id={num_id}.mp3'
#对于音乐播放地址发送请求,获取二进制数据内容
music_content = requests.get(url=url,headers=headers).content
with open(filename + title +'.mp3',mode='wb') as f:
f.write(music_content)
print(num_id,title)
四、爬取结果
文章来源地址https://www.toymoban.com/news/detail-723867.html
GET请求(直链,hMusic高品质, mMusic中品质, lMusic低品质):
http://music.163.com/api/song/detail/?id=歌曲id&ids=%5B歌曲id%5D
GET请求(直链下载 含VIP):
http://music.163.com/song/media/outer/url?id=歌曲id.mp3
到了这里,关于爬取某音乐榜单歌曲的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!