爬取网易云音乐

# @创建时间: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)
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值