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

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

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

前几天小编给大家分享了数据可视化分析,在文尾提及了网易云音乐歌词爬取,今天小编给大家分享网易云音乐歌词爬取方法。本文的目的是获取网易云音乐的歌词,并将歌词存入到本地文件。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/

    推荐阅读
  • 湘菜酱板鸭的家常菜做法(酱板鸭的做法)

    取一面盆,放入姜片15克、葱段50克、精盐100克、料酒30克及干辣椒、花椒、硝酸钠、玫瑰露酒等,随后掺入适量清水,搅拌均匀后,将麻鸭放入盆中,浸泡至入味后捞出。将烤箱用200℃的温度预热5分钟。把“湘春酱板鸭”剁成条块,装入盘中还原成鸭形,然后用红油加卤鸭原汁调匀成红油卤汁,淋在盘中鸭块上,即可。

  • 官方公认的十二星座实力排行榜(12上升的灵性天赋都在哪)

    12上升的灵性天赋都在哪【编者按】你知道吗?魔法无人不有这不是玩笑,而是存在于我们每人深处的灵性感知这份感知力,会让我们拥有现实之外的超越视野,在一瞬间,就窥见了更大的生命图景而联结我们的这种直觉力,正像魔法一样,一次次带领。

  • 人类走出山洞建造房屋的意义(从山洞到现在的什么人类的房屋发生了很大的变化)

    5、定居的人类会改造周边的生态环境,同时驯化牲畜,使人类作为万物之灵的地位逐渐凸现出来。

  • 迷你世界怎么无限出东西冒险模式(冒险模式下不知怎么提升自己)

    首先,迷你世界这个游戏和普通的游戏不同,没有那么多规定和要求,只要不被游戏中的怪物给杀死就是成功的。迷你世界中的一些动物掉落下来的物资也是很重要的元素,了解哪些动物和怪物会掉哪些东西就能方便很多,需要什么的时候直接去取就好。在迷你世界中,动物是不可缺少的一部分,它们不仅可以作为我们的伙伴被圈养到家里,我们也能从它们身上得到特殊的物资。

  • 谌龙个人资料简介(谌龙早年经历)

    谌龙个人资料简介谌龙,1989年1月18日出生于湖北省荆州市沙市区,中国羽毛球运动员、奥运冠军。2006年进入国家队,2012年首次参加奥运会并获得羽毛球男单季军。2015年8月,成功卫冕世锦赛冠军。2019年卫冕法国公开赛冠军。2019年11月12日,世界羽联公布了最新一期各单项世界排名,谌龙第四位。2021年,谌龙入选2020年东京奥运会中国体育代表团羽毛球项目运动员名单。同年获得东京奥运会羽毛球男子单打银牌。

  • 宝马PDC是什么?(宝马pdi是什么)

    宝马PDC是倒车雷达有问题。倒车雷达的含义:倒车雷达是停车或倒车时的安全辅助装置。它可以通过声音或更直观的显示告诉驾驶员周围的障碍物,解除驾驶员停车、倒车、启动汽车时前后左右巡视带来的困扰,帮助驾驶员消除盲点和视线模糊。倒车雷达的组成:倒车雷达主要由超声波传感器、控制器、显示器或蜂鸣器组成。

  • 琅琊榜梅长苏和霓凰第一次相见(琅琊榜霓凰为什么会让仅有一面之缘的梅长苏来决定她的婚姻)

    恰好穆青成年,权力交接之际,大梁皇帝就想着趁机把霓凰嫁掉,最好是嫁到自己可以掌控的地方,以解除自己认为的危机。在这件事情中,皇帝的目的显而易见,就是要让霓凰嫁掉,但不能嫁到别国,最好是嫁到在自己的眼皮子底下。这样一来,霓凰就会离开云南穆府,她对部下的掌控就会逐渐减弱;二来霓凰在京城,可以说就在自己的眼皮下,相当于成为了皇帝手中的人质。撼动霓凰内心天平的竟是一件往事。

  • 綦江怎么读(綦江如何读)

    以下内容希望对你有帮助!綦江怎么读拼音读:qíjiāng,綦江,是重庆市的一个县,綦江区位于重庆市南部,地处四川盆地与云贵高原结合部,地势南高北低,以山地、丘陵为主。綦江河纵贯南北,有蒲河、清溪河等支流汇入。綦是一个生僻字,释义:青黑色:綦巾。

  • 高粱米水饭的功效与作用(高粱米水饭的功效与作用介绍)

    高粱米水饭的功效与作用营养成分。高梁的果实称为高粱米。每100克高梁米中含蛋白质8.4克,脂肪2.7克,钙17毫克,维生素B10.26毫克、维生素B20.09毫克,另外还含有很多磷铁等元素。而100高粱米的发热量为1525.7千焦耳。现代营养学研究发现,高粱米含有人体必须的碳水化合物,蛋白质,膳食纤维,叶酸及磷,钾,镁,钙等微量矿物质元素等。可以治疗腹泻,癞皮病,大便溏薄,指拉稀,便色不对等。

  • 黄浦江通道全景图(沿线有这些值得打卡的大桥和隧道)

    黄浦江全长约113公里,源头在淀山湖,它在外白渡桥与苏州河(吴淞江)相会后,在吴淞口注入长江,它也是长江汇入东海之前的最后一条支流,流经上海市区,把上海分成浦东和浦西两部分,是上海的重要水道,上海港客、货码头所在地,沿线还有景观大桥和隧道,适合游客打卡。