"大众年夜众号:菜鸟学Python
链接:https://mp.weixin.qq.com/s/BcOf2D9rw-St84QqODxMsA
我是张学友的铁杆粉丝,听了他的很多很多歌曲,比如“吻别”,“饿狼传说”,“等你等到我心痛”,“祝福”,“她来听我的演唱会”等等。学友的歌伴我走过了很多很多岁月,从大学生到研究生,从学生到码农。都是歌神是情歌王子,那学友的歌里的情绪到底如何,既然玩Python,不如动手剖析一下。我们爬取了近16万的歌词并剖析,并用机器学习剖析了一下,哇创造几个亮点。
01 歌词的网络首先是对付歌词素材的网络,我比拟了各大音乐平台的歌词爬取难易程度,决定采取百度音乐作为爬取工具,爬取张学友的歌曲,由于其歌词是采取lrc文件保存,
爬虫这块非常大略,一共才几十行代码,我把核心的代码贴了一下,大家可以动手敲一下看看,不是很难的。爬取结束之后将所有的歌词文件爬取到了本地。如下图所示:
但是在读取歌词的时候,歌词中存在缺失落,乱码等问题,以是须要对付歌词进行耐心的洗濯,然后将歌词以及歌曲名称以及歌手信息保存到Excel表中,洗濯好的数据如下图所示,去表格开头一部分的数据:
取表格后10行的数据:
02 歌词情绪剖析接下来便是进行对付歌词的情绪剖析,对付歌词的情绪剖析,依托的是BosonNLP平台,该平台对付中文,供应了许多利用大略、功能强大、性能可靠的自然措辞剖析做事。我们这里是用到他的情绪剖析的功能。
首先大家得去它的平台注册,得到我们个人的API密钥,如下图所示:
得到API密钥后,就按照它的教程进行了对付歌词的情绪剖析,该平台供应的情绪剖析,每天只有500次的免费利用机会。而且它对付语句的情绪剖析返回的是两个值:
第一个值是指该语句是非负面的概率第二个值是指的负面的概率,两个值的和加起来即是1这里的负面可以理解为一些悲观的态度,例如生气、焦虑、忧伤等等。代码如下图所示:
上述的代码非常的大略,紧张做了下面几步:
1).先将歌词读入到list_lyrics这个列表中
2).然后调用requests.post函数,将语句送至BosonNLP平台
3).末了就会返回该歌词的情绪剖析值。
>>
十大悲哀曲目为: 0 1
0 我不明白 0.996758
1 不想失落去你 0.996119
2 燥狂 0.989038
3 I Don T Wanna Be 0.986872
4 你冷得像风 0.977820
5 认床 0.977314
6 葬月 0.977087
7 问月 0.974448
8 当爱变成习气 0.974190
9 算命 0.973292
十大积极曲目为: 0 1
0 让奇妙飞行 0.996168
1 花与琴的流星 0.995877
2 祝愿 0.992565
3 温馨 0.991497
4 仍是会喜好你 0.990432
5 仍是喜好你 0.990432
6 流星下的愿 0.988126
7 留住这光阴 (Full Version) 0.986213
8 简大略单便是爱 0.986053
9 飞机师的风衣 0.981768
由上图可以看出,学友哥的最悲哀的歌曲为《我不明白》,负面指数达到了0.996758,可谓是悲哀至极。
做到这些就完了吗?显然不足,作为情歌王,张学友的各种一定充斥着繁芜的“情绪关系”,
读取文件,然后遍列每一行大歌词,用count统计每一行的关键字.
从图上我们可以看出,学友哥的歌曲人物关系大部分还是环绕两人的情绪展开,很少有掺杂“第三者”的问题。
既然是情歌,怎么能少得了“爱”,
从上图可以看出,《命运舞会》这首歌中“爱”涌现的次数最高。
末了
创造永久,自己,没有,一个,不会,生平,什么,统统这些词是高频涌现的。想想确实是的,你试着回顾几首学友的歌,都忽多忽少的涌现这些词。
以上便是
自要你乐意,Python给你供应了各种玩,还是有趣的那种~自己试试呗 ^_^