# @创建时间:2021/3/27
# @开发作者:zgy
# @文件名称:网易云音乐爬虫.py
# @开发工具:PyCharm
"""
1,音乐从哪来? 网站的服务器上下载的 网站 网址是进入网站的钥匙 URL
2,怎么从网址里得到音乐? 向网站发起网络数据的请求
3,筛选音乐文件? 数据进行筛选
4,下载音乐文件
"""
import requests # 第三方库 单独安装 pip install request 向网站发起网络请求
from lxml import etree # 第二方库 单独安装 pip install lxml 解析数据
# 网易云音乐的网址
url='https://music.163.com/discover/toplist'
# 下载网址前缀
url_base = 'https://music.163.com/song/media/outer/url?id='
#https://music.163.com/song/media/outer/url?id=1832582017
#下载网址的前缀 + 音乐ID = 要下载的音乐地址
response = requests.get(url=url)
#print(response) #返回200 状态码 请求成功 网页源代码
html = etree.HTML(response.text) #数据解析处理
id_list = html.xpath('//a[contains(@href,"song?")]')
id_list1=id_list[:10]
header={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'
}
for data in id_list1:
href = data.xpath('./@href')[0]
music_id = href.split("=")[1]
# print(music_id)
music_name = data.xpath('./text()')[0]
# print(music_name)
music_url = url_base + music_id
# print(music_url)
music = requests.get(url=music_url,headers=header)
# print(music)
# print(music.text)
with open('./music/%s.mp3' % music_name ,'wb') as file:
file.write(music.content)
print('<%s>下载成功。。。' % music_name)
爬取网易云音乐
最新推荐文章于 2025-03-24 20:33:01 发布