我用python抓取了10,000+条歌词,看看邓紫棋都在歌里唱了些什么?

作者:阿侬

公众号:阿侬呀(shannonhole),如需转载,请标注转载来源。



2019年9月5日「再见」在YouTube突破1亿次的观看次数,使邓紫棋成为首位拥有二支MV在YouTube超过一亿点击的华语女歌手。

2019年9月10日,「光年之外」在YouTube 上仅用了985天突破2亿次的观看次数,使邓紫棋成为首位MV在YouTube超过二亿点击率,是华语点击量第一的歌手。

G.E.M. - MySecret

记忆中,邓紫棋还是那个唱着“睡公主”的小女生,那个学生时代校园里放着的“where did you go?”里的磁性女声。

不知不觉她已经迎来了自己的第六张个人专辑《摩天动物园》,向众人展示着自己不一样的色彩与蜕变。


在学习爬虫的过程中,我一直在想找个什么主题来实践练练手,最后还是非常不能免俗的选择了“歌词分析”。

在众多歌手里,我找到了最近新发了专辑,同时也是我从学生时代就非常熟悉的华语女歌手“邓紫棋”。


歌词里都唱了些什么?

邓紫棋于2008年出道,到今年已经是第12个年头了。我翻阅网易云的专辑列表,看到居然有43张专辑之多。

我在其中挑选了6张 ≥10首歌的具有代表性的专辑,分别进行了歌词分析。

《18 Plus》是邓紫棋于2009年发布的第二章专辑,专辑共收录了10首歌,其中包括了《where did you go》、《All About U》等代表歌曲。

从词云里可以看出,高频词中英语的占比很高,其中“give up”, "go", "game over"等词汇的频率最高。因为专辑中同时收录了粤语歌,高频词中包含了“点解”(粤语:为什么?)这一类的粤语词汇。

其他词汇如“离开”、“放弃”、“饮酒”、“何时”等,整体给人一种青春期的迷茫、烦恼等切合青少年心境的主题,也反映了刚过18岁的邓紫棋的心境。

《My Secret》发布于2010年,专辑共收录了10首歌,翻唱Christina Aguilera名曲「The Voice Within」成最新主打歌。

显而易见,“heart”是这张专辑的关键词,英文单词“wanna”, “over”, “one”, “button”, “now”都是位列专辑前十关键词。“玫瑰”继上张专辑后,依然位列本张专辑关键词。

从整体来看,《my secret》这张专辑更加表达出了一种积极向上的色彩。

邓紫棋于2011年发表的专辑《A.I.N.Y. 爱你》是她的首本个人琴书,里面收录了三张专辑共21首歌曲,其中包括我们熟悉的《回忆的沙漏》、专辑同名歌曲《A.I.N.Y.》等等。

我们可以看到,“没有”、“玫瑰”再次作为关键词出现在了词云中。这和这张专辑收录很多之前发布的歌曲不无关系。

此外,“不要”、“想要”、“wanna”这类表示诉求的词语也多次出现。“现在”、“now”作为最常出现的时间副词,也许是想表达立于当下的意愿。

《Xposed》是香港唱作歌手邓紫棋(G.E.M.)的第四张音乐专辑,于2012年7月5日正式发行,收录了10首歌曲。

邓紫棋包揽全部10首歌曲的作词并参与其中6首歌曲的作曲,专辑囊括了摇滚、电音、舞曲等多元化音乐风格。

“离开”、“go”在本专辑再次成为了高频词,“离别”成了本专辑收录曲的一大主题。在湖南卫视《我是歌手》上唱红的那首《泡沫》,也收录在本张专辑中,讲述了凄美而又脆弱的爱情。

21岁的邓紫棋逐渐褪去了少女的青涩,歌声里的情感也更加的深刻。

《新的心跳》是邓紫棋的第五张专辑,蕴酿三年的制作过程,十首新作,所有词曲由G.E.M.个人创作。收录曲包括《再见》、《来自天堂的魔鬼》等。

“away”是这张专辑当之无愧的关键词,总计出现了66次,成为了例张专辑之最。其次,“我们”、“再见”、“心跳”、“世界”紧跟其后,这些词语意向都表现出了一种新的姿态,对过去说“再见”。

《摩天动物园》是邓紫棋宣布自立门户后的第一张个人创作专辑,共收录13首歌曲,由邓紫棋担任制作人。

一首《差不多姑娘》让“差不多”荣升本专最高频词,总计出现了93次。其次包括“自己”、“我们”、“好想你”、“美丽”等词汇。对比早期的专辑,英文词的比例明显下降,这也许也折射了邓紫棋更加转向大陆市场。

其次“美丽”、“透明”、“fly away”这些向来的高频词,依然是邓紫棋的风格,是她常使用的形容和意向。

比起前几张专辑所用的或消极或积极的形容词,这张专辑似乎显的更加的中性,前十位的关键词都没有特别强的情感,反而有一种成长后的稳重和释然(anyway也有可能是我想多了)。

这也可能反映了邓紫棋经历了和前公司的纠纷、娱乐圈的起起伏伏后变的更加的沉稳,但歌词中依然不失对世界的美好期望。

除了抓取了6张专辑的所有歌词外,我还在网易云音乐“邓紫棋”页面下,抓取了top50热门歌曲的歌词,综合分析这50首歌的关键词。

“差不多”依然位列所有词汇之最,其次是“away”、“我们”、“一个”、“没有”,虽然top50歌曲和所选取的6张专辑歌曲不完全交叉,但高频词基本类似。

除此之外,如“世界”、“快乐”、“心跳”、“永远”、“回忆”都是有着邓紫棋风格的高频词汇。


歌曲里都表达了什么情绪?

我对抓取的top50歌曲歌词进行了简单的情绪分析,把词汇类型分为了积极的、消极的、中性的三类。

可以看出,邓紫棋的歌曲中,积极的词汇占了接近3/4,消极词汇占比最小。这和我们总体对邓紫棋歌曲的印象也实相符的,歌词中常用“爱”、“魅力”、“快乐”等给人积极印象的词汇。

同时,我也分别对6张专辑歌曲的歌词做了情绪分析,图标中可以看出,专辑《A.I.N.Y.》中的积极词汇是最多的,这与主题“爱”也相互应和(不过也受到了歌曲数量的影响)。专辑《摩天动物园》和《Xposed》紧跟其后。

在歌曲数量相近的前提下,《摩天动物园》的积极词汇几乎是《新的心跳》的两倍,可见在这两张专辑中间邓紫棋也经历了某种转变。

消极和中性的词汇总体还是占比较少,相互之间差异并不是很大。总体各专辑词性差异成比例。


从词性分析“邓紫棋”风格的词汇

在所有top50热门歌曲词汇中,我分别选出了人称代词、名词、形容词进行分析。

有图表可见,“我”的频率略高于“你”,占了近半数。可见人们总体上更在意自己的感受大于他人。

人称代词“你”的数量紧跟其后,占比42%,“你”和“我”之间的关系果然还是一个永久主题。其次“他/她”、“我们”、“自己”占比相对较小。

“世界”以压倒性趋势占据第一位,其次是“心跳”、“回忆”、“童话”、“梦想”、“爱情” 。

这些词汇也反映了邓紫棋很多歌曲以青春、爱情、梦想为主题。

在常用的形容词中,“快乐”远高于其他词汇排在第一。这也符合情绪分析中,邓紫棋的歌曲以积极情绪为主。

紧跟其后的高频形容词有,“温柔”、“年轻”、“疯狂”、“颤抖”等。“年轻”、“疯狂”等词汇都给人一种年少轻狂、青春的气息。


永恒的主题——爱

通过统计6张专辑中“爱”or“love”出现的频率,并除以专辑歌曲数量,得出上述图表。可见不论是哪一张专辑,“爱情”都是经典且永恒不断的主题。

从频率上看,专辑《Xposed》歌唱爱情的比例是最高的,专辑《18+》紧随其后。专辑《my secret》则比例最少,平均一首歌只出现一次。


代码实现

首先,选取的资源(url)是网易云音乐网页版邓紫棋页面下的top50歌曲,以及单张专辑页面的所有歌曲。   

抓取思路是:歌曲url → 歌曲详情页 → 抓取歌词。

原本的想法是用Beautiful Soup和Request进行抓取再清洗数据,但是试过之后发现返回的是空值。

重新查看网页代码,发现目标内容都在iframe标签内,需要用到selenium启动webdriver进行抓取。

废话不说,直接上代码。

需要注意一下的是webdriver,如果没有安装过的话,需要根据浏览器版本安装到对应文件夹内。这里用的是chromedriver,具体地址可以度娘。

获取网页代码之后,就可以根据标签获取有效信息。

查看代码可以发现,歌曲详情链接和歌名都在<span class="txt">标签里,用.find()可以直接进行抓取。

抓取歌词思路也是类似的,这里就不详细说明了。最后用pandas进行整理,得出来的表格是这样的。

分词部分我用的是jieba,因为我懒得找别的,如果有别的比较好的中文分词包,欢迎大家推荐给我。

在排除无效内容部分很多人和我说可以用正则表达式(but萌新一枚我还不是很懂,欢迎大神指导),最后我就偷懒直接用了excel筛选。

情绪分析我也是找了现成的SnowNLP包,但我其实感觉不是非常准确,如果有更好的求推荐。下面是官方说明。


数据可视化

向大家推荐一个在线词云生成网站WordArt,真的非常的方便,but缺点是要翻墙。

python的可视化功能也非常强大,我现阶段还在摸索中,希望以后能有更多应用。

图表的话就是老大哥Excel了,之前有朋友说可以用AI或者PPT直接画,会漂亮一点,我嫌麻烦就算了。

Excel的缺点是导出画质低(也有可能是我没有解锁正确打开方式),优点是极其方便。找了一些国内的在线图表生成软件都不是很合心意,求大佬推荐。


结语

在实操的过程中,我再次感叹爬虫对于学习、工作带来的极大便利,如果升级打怪兽能够熟练操作的话,可以节省不少花在简单重复操作上的时间。

以及,无project无干劲,学习爬虫的最好方式是定一个具体的目标,在应用的过程中不断学习加深。

Das is alles. Tschüss! 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339