爬虫网易云音乐飙升榜(下载歌曲)

468 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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)

6a368016db1bc76f3b20a0e2b440a24.jpg

用pycharm运行的代码,记得在pc里把模块都下载了。

4c20999c735308b72ed7b457cb7b19a.jpg

7fa0f35bf84e003dc944cd483bf6681.jpg