2022
我们一起努力

Python爬虫怎么实现下载网易云音乐 - 大数据

这篇文章主要介绍“Python爬虫怎么实现下载网易云音乐”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python爬虫怎么实现下载网易云音乐”文章能帮助大家解决问题。

Selenium(配置方法参照:Selenium配置)

Chrome浏览器(其它的也可以,需要进行相应的修改)

解析

以前抓取过网易云网页的朋友可能都清楚网易云有反爬虫策略的,post时要对部分信息的参数完成加密函数的模拟。为了方便,入门新手也可以了解,直接采用Selenium来模拟登录,之后用接口来下载音乐和歌词。

实验步骤:

通过歌手id得到当前歌手的热门歌曲信息,歌名与网址,并且存储到CSV文件里面;

载入csv文件,通过音乐链接,获取歌曲ID,之后借助相应的接口,下载歌曲和歌词;

将歌曲和歌词存储到本地。

Python实现

这里针对几个主要的函数来说明…

Python爬虫怎么实现下载网易云音乐 - 大数据

抓取歌手信息

通过Selenium就不用看对页面的请求了,能直接从页面源代码中提取对应的数据,查看歌手网页源代码能够看到在iframe框架里有我们需要的信息,因此,要先切换到iframe:

browser.switch_to.frame('contentFrame')

接着看下去,在id=”hotsong-list”标签中能看到需要的歌名以及链接,然后每一行对应的是一个tr标签。因此先取得全部的tr内容,然后遍历单个tr。

data = browser.find_element_by_id("hotsong-list").find_elements_by_tag_name("tr")

注意:前一个是find_element,后一个是find_elements,后者返回一个列表。

然后就是解析单个tr标签的内容,得到歌名与链接,可以发现两者在class=”txt”标签中,而且链接是href属性,名字是title属性,能直接通过get_attribute()函数获取。

链接中的数字就是歌曲的id,因此我们得到歌曲id后,能够同时从该链接下载歌词,歌词文件是json格式,因此我们还要用到json包。

并且同时获取的歌词中,每行有一个时间轴,还要用正则表达式来去除,完整代码如下:

链接中的数字为歌曲的id,可以直接根据歌曲的id来下载音频文件。完整代码如下:

关于“Python爬虫怎么实现下载网易云音乐”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云行业资讯频道,小编每天都会为大家更新不同的知识点。

赞(0)
文章名称:《Python爬虫怎么实现下载网易云音乐 - 大数据》
文章链接:https://www.fzvps.com/83580.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!