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

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/

    推荐阅读
  • 苹果回收站在哪里 苹果回收站在哪里找

    苹果回收站在哪里,苹果手机是没有回收站功能的,一旦删除文件就无法恢复。回收站是微软Windows操作系统里的其中一个系统文件夹,用以把删除的文件暂时保留,留待将来进行恢复或永久删除。

  • 75岁男人排尿困难(邵阳男子排尿困难)

    李龙正在医师处接诊。医院根据李先生的工作环境和疾病症状,制定了对症治疗方案,并要求李先生在药物治疗的同时,保持饮食清淡,戒酒,还需适度运动。目前,李先生恢复良好,已治愈出院。

  • 选择宝马3系你真正该考虑的(人生绕不过的宝马3系你真了解吗)

    要说今年上半年最热车型,即将于本周上市的宝马3系绝对榜上有名。其中,挡杆周围的中央地台造型与仪表盘样式,与现代宝马内饰风格十分相似,可以说这两部分在第二代车型中就已定型。同时,这代车型还出现了2.4L柴油发动机。从第四代车型开始,宝马3系真正进入了我们的生活中。1995年便完成了所有外观设计,但直到1998年才正式上市售卖这一代宝马3系。相比之前几代车型,这一代3系车型还首次装配了宝马引以为傲的xDrive四驱系统。

  • 韩国女演员对池昌旭评价(他是韩国的新晋人气)

    凭借韩剧《Healer》人气暴涨的池昌旭最近越来越Hot,报友你是不是也被这位“暖男”的魅力所折服呢?池昌旭2014年5月16日韩国金浦机场街拍(飞日本)再次送来韩国新晋人气“暖男”池昌旭的街拍回顾!夏日阳光照耀下,身着T恤长裤出街的池昌旭是不是很帅气呢?池昌旭2014年8月15日韩国仁川机场街拍(飞香港)3月5日,池昌旭由韩国仁川机场启程飞往香港参加登喜路的活动。

  • 滴滴头像怎么改(微信滴滴头像怎么改)

    很多小伙伴都不知道其实滴滴也是可以更换头像的。那么怎么给自己的滴滴出行换一个酷炫拉风的头像呢?下面就介绍一下滴滴头像怎么改具体的方法。打开滴滴打车后,选择左上角“头像”点击“编辑资料”点击“修改头像”“从相册中选择”,勾选图片调节所选图片的大小和位置点击“完成”就能看到美美哒头像了

  • 英语三级作文万能句型(这些有必要记住)

    以下内容大家不妨参考一二希望能帮到您!英语三级作文万能句型Forthepast+时间,S+现在完成式……

  • 番薯是什么种的(番薯的种植方法)

    我们一起去了解并探讨一下这个问题吧!番薯栽要选择不老不幼的,这样容易活。一般种什么都需要松土,这样有利于成活率。在松好的土上挖坑,间隙不要太大。然后吧番薯栽放入坑中,要把茎放下一点,避免太阳晒死。将土用锄头弄到坑中,直填满为止,在用脚在坑上踩,让土与栽的茎部紧密相接。一般种的种完都需要浇水,番薯需要浇完后次日早晨再浇。番薯不用怎么管理,只需要偶尔浇肥就好,他就可以长出很多番薯。

  • 用正能量的句子(正能量句子盘点)

    用正能量的句子鹰,不需鼓掌,也在飞翔。小草,没人心疼,也在成长。做事不需人人都理解,只需尽心尽力。坚持,注定有孤独彷徨,质疑嘲笑,也都无妨。对自己狠一点,逼自己努力,再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。我始终相信一句话:只有自己足够强大,才不会被别人践踏。每个人都会累,没人能为你承担所有的伤悲,人总有那么一段时间要学会自己长大。

  • 122是什么电话号码(122是哪里)

    跟着小编一起来看一看吧!122是什么电话号码122服务台是管理机关为受理群众交通报警电话,指挥调度处理各种报警、求同时受理群众对交通管理和交通民警执法问题的举报、投诉、查询等而设的部门。实行24小时值班。只要用电话拨打“122”即可免费接通122台电话。

  • 弗洛姆孤独理论(人生有诸多两歧)

    弗洛姆也对人的生存问题,特别是“人的处境”问题有深入的研究,指出人的存在有着诸多的矛盾或两歧,但是人的存在又与动物有着根本的不同。弗洛姆指出,生存性两歧是存在于人的本性之中的一种“分裂”,这种分裂会产生两歧,“它们根植于人的生存之中”。按照弗洛姆的说法,这三种两歧中最基本的“生存的两歧”是“生与死之间的两歧”。