(python爬取音乐)(python爬取音乐源码)

配置基础

python

Selenium

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

发现有很多想要学习Python却不知道如何下手的朋友,我这里整理了一些关于Python的学习资料,从基础到入门到实战都有!有需要的朋友可以关注并私信“01”免费获取...

(python爬取音乐)(python爬取音乐源码)

分析

如果爬取过网易云的网站的小伙伴都应该知道网易云是有反爬取机制的,POST时需要对一些信息的参数进行加密函数的模拟。但是这里为了简便,小白也能理解。直接使用了Selenium来模拟登录,然后使用接口来直接下载音乐和歌词。

实验步骤

1、根据歌手ID获取该歌手的热门歌曲列表,歌曲名称和链接,并保存到csv文件中;

2、读取csv文件,根据歌曲链接,提取歌曲ID,然后利用相应的接口,下载音乐和歌词;

3、将音乐和歌词保存到本地。

(python爬取音乐)(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()函数获取。

完整代码

(python爬取音乐)(python爬取音乐源码)

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者Python智禅所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(python爬取音乐)(python爬取音乐源码)
本文链接:https://www.51qsb.cn/article/dvjwov.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-09-04
下一篇2023-09-04

你可能还想知道

发表回复

登录后才能评论