百摩网
当前位置: 首页 生活百科

python 歌曲爬虫(一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取)

时间:2023-06-14 作者: 小编 阅读量: 2 栏目名: 生活百科

前几天小编给大家分享了数据可视化分析,在文尾提及了网易云音乐歌词爬取,今天小编给大家分享网易云音乐歌词爬取方法。本文的目的是获取网易云音乐的歌词,并将歌词存入到本地文件。But在网易云音乐网站中,这条路行不通,因为网页中的URL是个假URL,真实的URL中是没有/#号的。本文利用requests、bs4、json和re模块来采集网易云音乐歌词,记得在程序中添加headers和反盗链referer以模拟浏览器,防止被网站拒绝访问。

前几天小编给大家分享了数据可视化分析,在文尾提及了网易云音乐歌词爬取,今天小编给大家分享网易云音乐歌词爬取方法。 本文的总体思路如下: 找到正确的URL,获取源码; 利用bs4解析源码,获取歌曲名和歌曲ID; 调用网易云歌曲API,获取歌词; 将歌词写入文件,并存入本地。 本文的目的是获取网易云音乐的歌词,并将歌词存入到本地文件。整体的效果图如下所示:

本文以民谣歌神赵雷为数据采集对象,专门采集他的歌曲歌词,其他歌手的歌词采集方式可以类推,下图展示的是《成都》歌词。

一般来说,网页上显示的URL就可以写在程序中,运行程序之后就可以采集到我们想要的网页源码。But在网易云音乐网站中,这条路行不通,因为网页中的URL是个假URL,真实的URL中是没有/#号的。废话不多说,直接上代码。

本文利用requests、bs4、json和re模块来采集网易云音乐歌词,记得在程序中添加headers和反盗链referer以模拟浏览器,防止被网站拒绝访问。这里的get_html方法专门用于获取源码,通常我们也要做异常处理,未雨绸缪。获取到网页源码之后,分析源码,发现歌曲的名字和ID藏的很深,纵里寻她千百度,发现她在源码的294行,藏在下图的标签下,如下图所示:

接下来我们利用美丽的汤来获取目标信息,直接上代码,如下图:

此处要注意获取ID的时候需要对link进行切片处理,得到的数字便是歌曲的ID;另外,歌曲名是通过get_text()方法获取到的,最后利用zip函数将歌曲名和ID一一对应并进行返回。得到ID之后便可以进入到内页获取歌词了,但是URL还是不给力,如下图:

虽然我们可以明白的看到网页上的白纸黑字呈现的歌词信息,但是我们在该URL下却无法获取到歌词信息。小编通过抓包,找到了歌词的URL,发现其是POST请求还有一大堆看不懂的data,总之这个URL是不能为我们效力。那该点解呢?莫慌,小编找到了网易云音乐的API,只要把歌曲的ID放在API链接上便可以获取到歌词了,代码如下:

在API中歌词信息是以json格式加载的,所以需要利用json将其进行序列化解析出来,并配合正则表达式进行清洗歌词,如果不用正则表达式进行清洗的话,得到原始的数据如下所示(此处以赵雷的歌曲《成都》为例):

很明显歌词前面有歌词呈现的时间,对于我们来说其属于杂质信息,因此需要利用正则表达式进行匹配。诚然,正则表达式并不是唯一的方法,小伙伴们也可以采取切片的方式或者其他方法进行数据清洗,在此就不赘述了。得到歌词之后便将其写入到文件中去,并存入到本地文件中,代码如下:

现在只要我们运行程序,输入歌手的ID之后,程序将自动把该歌手的所唱歌曲的歌词抓取下来,并存到本地中。如本例中赵雷的ID是6731,输入数字6731之后,赵雷的歌词将会被抓取到,如下图所示:

之后我们就可以在脚本程序的同一目录下找到生成的歌词文本,歌词就被顺利的爬取下来了。相信大家对网易云歌词爬取已经有了一定的认识了,不过easier said than down,小编建议大家动手亲自敲一下代码,在实践中你会学的更快,学的更多的。这篇文章教会大家如何采集网易云歌词,那网易云歌曲如何采集呢?且听小编下回分解~~~

想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

    推荐阅读
  • 家里抓小老鼠的好方法(家里有老鼠别着急)

    家里抓小老鼠的好方法摘要:作为“四害”之一的老鼠,生命力顽强,而且繁殖能力也很强,家里如果出现了老鼠别着急放老鼠药,我们都知道老鼠药是一种很危险的东西,放在家里既不健康也不安全。首先我们准备两张大小相同的纸,一定要选这种硬一点的纸,将其中一张纸对折成四等分,再折成这样的正三棱柱形状就可以了。

  • 双皮奶放冰箱第二天还能吃吗(双皮奶放冰箱第二天可以吃吗)

    2、不过需要注意的是,我们在保存双皮奶隔夜的时候要尽量用保鲜膜或者其他物品将它密封起来,这样双皮奶才不会和冰箱里其他食物的味道串在一起。

  • 迷你世界怎么解锁小兔子(迷你世界超多小技巧)

    迷你世界作为一款沙盒游戏,在游戏里面是有非常多的小技巧的。也就是说一个玩家充值,只会让这个玩家的小伙伴也收益。比如说一个玩家获得了飞鼠坐骑之后,就可以通过繁殖下蛋的方式,为好友送出小飞鼠的蛋。这个时候将小飞鼠带过去,然后放在朋友家里一个半小时,也是会孵化的。总的来说迷你世界在某些方面做的是真的非常出色,不仅仅促成了玩家们协作的能力。其实迷你世界对于玩家们的创造力,也是非常注重的。

  • 怎么拯救发际线

    当下,大部分人都处于亚健康的状态,抽烟喝酒,熬夜加班,这些都是导致脱发的“凶手”,会加速人体的老化,使头发过早脱落。要想拯救发际线,每天保持充足的睡眠,一天睡足七个小时。为了释放压力可以适当运动,比如跑步,健身,这有利于头部血液循环,有利于毛囊的新陈代谢,避免头部雄性激素过多造成脱发。经常按摩头皮,也可改善头皮营养,调节皮脂分泌,促进头皮血液循环,增进局部的新陈代谢。

  • 像火龙果一样的野生植物(在众多水果当中)

    传说在古印度,有个王子,吃这个水果能生很多个男孩,所以很受年轻人的青睐。后来在1994年的时候,被印度当地的植物学家,经过调查之后,指向了一种龙舌兰大型草本植物,但最后还是缺乏可靠的证据。或许一些植物学家,真的找到了拉姆坎德来源,但是这些商贩们,他们死都不会承认,一但承认了,这门生意就不好做,也不好卖了。

  • study过去式和过去分词(有何区别?)

    以下内容希望对你有帮助!study过去式和过去分词study的过去式为studied,过去分词也是studied。两者在字面上没有区别,只能从实际的语境中具体区分。一般过去时表示过去某个时间里发生的动作或状态,基本结构:主语+谓语+句子其他成分;过去分词是一般用于被动句或完成时的,表示过去做的事对现在的影响或突出“已经”这个意思,基本结构:主语+have+动词过去分词+句子其他成分。

  • 木偶奇遇记评语(对木偶奇遇记的评价)

    以下内容大家不妨参考一二希望能帮到您!木偶奇遇记评语这篇童话,通过皮诺曹的种种曲折、离奇的经历,表现小木偶热爱正义、痛恨邪恶、天真纯洁的品质,教育儿童要抵御种种诱惑,做一个诚实、听话、爱学习、爱劳动,并能帮助父母的好孩子。作者成功地塑造了小木偶的形象。他聪明、善良、顽皮而又任性,他的故事给孩子们以有益的教诲和艺术的感染。

  • 野公猪繁殖力低的原因,主要有三个方面

    一些农民用养家猪的经验,用全价饲料饲养野猪,增加成本,而且备用猪的前期生长没有限制饲养,日食中营养水平过高。公野猪使用过度,运动不足,种猪体质容易下降,厌倦或拒绝交配。这是增强公猪体质,保证其旺盛的性欲,提高精子活力不可或缺的措施。

  • 小麦含糖量高吗 小麦含糖量高吗糖尿病可以吃吗

    回答小麦的主要成分是淀粉,而淀粉水解后会变成葡萄糖,所以小麦的含糖量比较高。小麦的颖果是我们的主食之一,磨成面粉后可以制作面包、饼干、馒头、面条等食物,发酵后还能制成啤酒、酒精、白酒等。

  • 梦幻西游五行修业有多少经验(梦幻西游手游五行修业经验了解)

    皮皮剑拿到了最新的五行修业玩法消息,快来一起看看吧!调整后少侠们可对过去错过的奖励进行修业,五行修业最多可为少侠积累两天的奖励次数。五行修业支持的玩法有捉鬼任务、科举乡试、师门任务、普通副本、封妖·妖王战、皇宫飞贼、降妖伏魔、100精修点、帮派宴席、加急奏章与勤政事民。皮皮剑认为,相较来说,五行修业只需消耗金币与日常积累的道具即可快速找回奖励,由于调整后变为了全天玩法,少侠们的时间安排也更灵活了。