基于配置的
python
塞勒姆
铬浏览器(其他的也可以,需要相应地修改)
分析
曾经爬过王云网站的小伙伴都应该知道,王云有齿轮传动机制,POST需要加密一些信息的参数。必须进行函数的模拟。(约翰肯尼迪,美国作家)。
但是这里为了简便,小白也能理解。直接使用了Selenium来模拟登录,然后使用接口来直接下载音乐和歌词。实验步骤:
根据歌手ID获取该歌手的热门歌曲列表,歌曲名称和链接,并保存到csv文件中;
读取csv文件,根据歌曲链接,提取歌曲ID,然后利用相应的接口,下载音乐和歌词;
将音乐和歌词保存到本地。
Python实现
该部分将对几个关键的函数进行介绍...
获取歌手信息
利用Selenium我们就不需要看对网页的请求了,直接可以从网页源码中提取相应的信息。查看歌手页面源码可以发现,我们需要的信息在iframe框架内,所以我们先需要切换到iframe:
brow('contentFrame')
继续往下看,发现我们需要的歌曲名字和链接是在id="hotsong-list"的标签中,然后每一行对应的是一个tr标签。所以先获取所有的tr内容,然后遍历单个tr。
data = brow("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来下载音频文件。完整代码如下:
1.《网易云音乐歌词图片怎么保存在哪个文件夹?总结很全面速看!小白都能看懂:Python爬取网易云音乐下载教程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《网易云音乐歌词图片怎么保存在哪个文件夹?总结很全面速看!小白都能看懂:Python爬取网易云音乐下载教程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3129238.html