VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • Python可视化图分析毛不易的《入海》,看看听歌的人都在想些什么

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

 

 

 

没错,还是那个B站,在520这个既浪漫且有营销价值的一天又「搞事情」了。

5月20日, B站联合毛不易发布毕业季主题曲《入海》。

这首歌主题是“献给即将或已经毕业的人们”,歌曲MV中以主人公毕业的时候为原点,追忆过去,并用大量篇幅展现普通人毕业后的社会生活。

这首歌一经发布就在B站引爆了话题点,截止到5月24日在B站播放量达到了800万+,收获了5.2万弹幕,最高全站日排行1名。

 

 

今天我们就带你来解读这首《入海》,以及背后不一样的毛不易。

 

 

 

 

 

一、毛不易的歌里都喜欢唱些什么?

毛不易,本名王维家。本来毕业于杭州师范大学护理专业的他一直有个歌手梦。在2017年,参加腾讯视频选秀音乐娱乐节目《明日之子》,获得全国总决赛冠军,从而正式进入演艺圈。谁又能想到最后拿到冠军是这个长相平平,没有什么优势,甚至有点害羞憨厚的毛不易了。

 

随着《消愁》《像我这样的人》等歌曲的大火,毛不易这个名字也被越来越多的人知晓。同时在今年鹅厂的女团选秀节目《创造营2020》中,毛不易更是以导师的身份加入,呆萌的毛老师这次也收获了不少的粉丝。

 

听着《消愁》里的“一杯敬朝阳,一杯敬月光“,大概是因为才华,毛不易在这个年纪能写出人生的无奈和纠葛,这是一种大的勇气。

 

 

那么毛不易的歌里都在唱些什么呢?下面让我们来盘一盘:

我们分析整理了毛不易在网易云音乐的歌曲,一共83首,歌词字数加起来45577字,我们用Python对这些歌词进行分析。

 

歌曲时长分布

首先在歌曲时长方面,时长为4-5分钟的最多高达43.9%,3-4分钟为29.27%,2-3分钟的为13.41%。要知道一般歌曲时长多为3分钟左右,看来毛不易的歌时长还是偏长的。

 

 

歌曲正向情感得分

 

我们使用boson库对每首歌的歌词的情感进行打分,分数介于0~100分,高于50分为积极,分数越高,积极倾向性越高。从分布图可以看出,在83首歌曲中,大部分的歌曲正向积极情感为主。

 

毛不易最喜欢的词TOP15

 

毛不易最喜欢的歌里最喜欢用哪些词呢?我们分析整理得出了歌词中出现频率最高的TOP15。可以看到"等待"、"生活"、"时光"等词出现频率最高,位列前三。

 

 

"慢慢"、"遇见"、"江水"、"角落"等比较文艺的词也上榜了。有意思的是"有钱"出现频率也较高,位列第四。

 

二、《入海》全站日排名第一 ,这首献给毕业季的歌好在哪儿?

 

 

我们使用Python获取并分析了B站上《入海》这首MV的评论数据,经过去重之后得到19099条样本,下面让我们看到评论的具体分析。

 

评论用户性别占比

首先,在评论用户性别占比方面,男性用户占比略高,男性用户占比54.69%,女性用户占比45.31%。

 

 

评论用户客户端分布

那么看《入海》的用户在看视频时都用的什么移动设备呢?经过分析发现,用iphone的用户占了很大的比例,远超Andrio系统的用户。第三位是使用ipad的用户。

 

 

 

评论用户等级分布

同时我们知道,b站上用户因为参与程度等因素,等级从0-6分布,数字越大等级越高。在《入海》这首歌的评论用户上,评论中5级的占比最高为36.1%,其次是4级占比26.31%,6级占比仅为3.24%,这也是因为毕竟要成为六级大佬实在太难了。

 

各时段评论人数

 

 

在评论时间段方面,《入海》是在5月20日 8:30发布的,在发布后评论的人数越来越多,在12点左右评论达到最高峰,这个时段共有2万7千余人进行评论,远高于其他时段,之后随着时间推移评论人数也越来越少,趋于平缓。

 

评论关键词TOP15

在评论中大家说得最多的是什么呢?

 

 

 

经过分析整理可以看到,"毕业"是提到最多的词,其次第二位是"后浪",毕竟作为同样聚焦在年轻人身上的话题,这次的《入海》很容易让大家联系到5月4日B站发布的《后浪》视频。

 

同时,"快乐"、"入海"、"大哭"等词也被频频提到。

 

三、Python分析:B站《入海》评论数据

 

我们使用Python获取并分析了B站上《入海》这首MV的评论数据。经过去重之后得到19099条样本,来分析一下这周MV的用户的评论信息。整个分析流程分为以下几步:

 

  1. 数据获取
  2. 数据整理
  3. 数据可视化

 

数据获取

在获取视频评论之前,我们首要做的就是分析其网页结构,寻找目标数据,也就是我们要评论的数据在哪里。

 

 

经过抓包分析,在network-json选项卡下,很容易找到了数据传输的地址

其中oid是视频的专属oid,pn是页面数。

由上图可看出,其评论数据是以json数据形式存在于网页端的,目前显示的页数是976页,每页20条评论,追评数据暂时不做抓取。

接下来,就爬取思路很明确,从第一页的JSON文件开始,爬完20条评论,循环pn页数,直到爬完所有的评论数据。

 

代码如下:

 

 

 

获取到的数据以DataFrame的形式存储,格式如下:

# 读入数据
df.head()  

 

 

 

 

数据集有19099个样本,8个字段,字段名称为:用户名、用户性别、用户签名、用户等级、用户评论、设备名称、评论时间、点赞数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 19099 entries, 0 to 19098
Data columns (total 8 columns):
user_name        19099 non-null object
sex              19099 non-null object
sign             9896 non-null object
current_level    19099 non-null int64
content          19099 non-null object
device           4159 non-null object
content_time     19099 non-null int64
reply_count      19099 non-null int64
dtypes: int64(3), object(5)
memory usage: 1.2+ MB

相关教程