持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情
爬虫网易云音乐飙升榜(下载歌曲)
今天在b站上学习了爬网易云音乐的飙升榜 b站视频在这里【Python】超实用十大Python爬虫项目案例教学,毕业设计、入职简历必备项目,手把手带你完成。(本视频中的案例仅作为技术分享,请勿模仿)_哔哩哔哩_bilibili
然后把代码发给大家 我们首先要把需要的模块导入进来
然后在浏览器里找到网易云音乐飙升榜的网址,复制粘贴过来
然后建立链接获取源码
获取到歌曲id,然后开始解析数据
从数据里取出我们想要的内容,提取出来(链接 id 地址 歌名)
请求成功就可以下载了
导入模块
热门飙升榜的地址
import requests
from lxml import etree
url = "https://music.163.com/discover/toplist?id=19723756"
text = requests.get(url).text
建立网络链接获取源码
html = etree.HTML(text)
解析源码获取歌曲id,将数据源加载到工厂
id_list = html.xpath("//a[contains(@href,'/song?')]")
开始解析数据
for i in id_list :
通过循环依次取出内容
herf = i.xpath("./@href")[0]
提取出链接
music_id = herf.split("=")[1]
提取出id号
music_url = "https://music.163.com/song/media/outer/url?id="+music_id
拼接地址
music_name = i.xpath("./text()")[0]
歌曲名称
data = requests.get(music_url)
访问歌曲
if data.status_code == 200:
<Response [200]>:请求成功的意思# 如果正常响应
with open("./music/%s.mp3"%music_name,"wb") as file: # 下载音乐
file.write(data.content)
print('<%s下载成功!>'%music_name)
用pycharm运行的代码,记得在pc里把模块都下载了。