当前位置: 首页 > 后端技术 > Python

Python分析《青你2》67万弹幕,看有没有你pick到的小姐姐

时间:2023-03-25 22:52:43 Python

今天来说说选秀节目《青春有你2》。给我看数据,用数据说话淡黄色的裙子,蓬松的头发,你牵着我的手,看看最新的油画,不管你最近有没有看到《青春有你2》,想必很多人都被这歌词洗脑了。就是这种太魔性,有点像朗读的说唱,在很多人的脑海里疯狂的流转。成功把JonyJ逼疯了,也创造了选秀节目的历史,所以还能这么玩。今天要说的是最近火爆的(以下统称《青你2》)。01大热的《青你2》是爱奇艺今年推出的一档综艺节目。一经播出,可谓是存在感极强。从导师到选手,提N个热搜都很火。首先,导师阵容非常强大。自带表情包属性的蔡徐坤PD在节目中开启了自嘲模式,“以前我觉得打篮球是我的特长,后来才发现只是爱好。”这还是那个擅长唱歌、说唱舞、篮球的坤吗?声乐导师Ella也是顶级配置,无论是唱功还是舞台表现。毕竟SHE现在也是集团级别的存在。舞蹈导师Lisa是韩国人气女子团体blackpink的舞蹈总监。因为Lisa的加入,《青你2》在海外引起了不小的关注,爱奇艺终于可以夸耀自己是一个国际化的平台了。最后是说唱导师JonyJ,地下音乐人出身,他的专辑在豆瓣上基本都在8分以上。此次凭借“浅黄裙”出圈,我们也收获了不少JonyJ表情包。比起鹅厂的创意阵营,失去了多人运动星翔之后,导师阵容确实有临时凑合的嫌疑,不过吴亦凡真的可以请来加入,再加上EXO解约,这个效果综艺炸了。.这次的《青你2》能掀起这么大的热度,百度指数和微博热度不断攀升,跟玩家也有很大的关系。不少练习生专业技术过硬,达到了出道的标准。也有不少选手的话题度很高,除了淡黄裙小姐姐、秦牛正威牛姐、小猪精虞书欣等等,都是上热搜的。好了,一下子聊这么多。言归正传,让我们用数据告诉你,《青你2》的哪些小姐姐才是绝对的话题带货人。02大家看《青你2》的时候都在说什么?目前,《青你2》在豆瓣的评分为5.1,共有6万多人评分。他还没有过及格线。这个分数在选秀节目中算是很平均的了。那么每个人都在说《青你2》是什么?分析整理豆瓣短评,可以看到大家评论的重点主要集中在虞书欣和蔡徐坤身上。看来欣欣子和坤坤确实是适当话题的焦点。那么,在节目内容方面,讨论最多的是“剪辑”、“镜头”、“话题”等方面。“淡黄色的裙子,蓬松的头发”也频频出现。《青你2》视频弹幕数据接下来我们来分析整理一下爱奇艺的《青你2》视频的弹幕。一共爬取了16-32集671776条弹幕。先看结论,看看有没有你pick小姐姐的。先来看弹幕中弹幕词数的分布情况,我们发现0-10词的弹幕词数最多,一共超过45万条。其次是10-20个字符,达到19万多个。高赞弹幕词云一些高赞弹幕也很有意思,比如:你是别人的麻烦丸,请不要背诗,我可以投导师吗?太有才了一边看选秀,一边pick自己喜欢的小姐姐,一边吐槽一边吐槽。弹幕关注了哪些玩家?从图片中可以看出,虞书欣在合适的话题榜上名列前茅。紧随其后的是乃万和赵小棠分列二、三位。那么上官爱爱、蔡卓仪、林小宅也是观众特别关注的选手。来看看这些当红选手的弹幕写真吧:虞书欣虞书欣凭借在选秀环节的精彩表现赢得了大家的喜爱。她也把生活玩得淋漓尽致,分析弹幕词云,发现“zuo”这个词出现的频率非常高,心心子也用实力演绎出什么是极致的可爱。乃万一家参赛,乃万同时担任说唱指导。“蛋黄裙”小姐姐和妞妞,对于乃万来说真的不容易。词云中频繁出现“好酷”、“棒棒哒”、“心疼”等词。赵小棠赵小棠也是最火爆的出道之一。凭借着“德云女郎”的身份,她在节目中也频频亮相,不过素颜和综艺感真的很适合女团,本色不做作的风格也很容易被观众pick。上官爱上官最爱的词云,基本都集中在“力”这一点上。作为一个可以solo出道的妹子,来清幽2真的是降维打击了。词云图上出现“老师”二字,可想而知她的实力。蔡卓仪作为广告女神,蔡卓仪也是这档节目中唯一一个离过婚的女孩,同样备受期待。一开始的名次不好,后来爆发的时候,大家都看到了这个甜妹子的努力。但是出现在词云中的沉梦辰呢?特意找了一张沉梦辰的照片,对比了一下,还是有点像的。编辑林小宅从网红到“女企业家”在参加这期节目之前,林小宅已经积累了一定的人气。在她的弹幕词云中,可以看到“造型温柔”“好看”“可爱”都是高频词。03教你用Python分析《青你2》67万条弹幕数据是动态加载的,所以通过谷歌浏览器抓取真实的URL数据请求地址;使用requests向网站url发起请求获取网页代码;使用正则表达式re解析HTML/XML文本内容,提取里面的重要信息;将获取的数据保存在本地。01在哪里可以找到弹幕?打开爱奇艺视频《青春有你2》视频,随机选择一集,观察我们需要抓取的弹幕,可以看到弹幕是在视频播放完后加载的,所以我们大概可以断定弹幕是异步加载的通过JS。然后去网络上找找看。一番搜索后,发现好像没有明显的弹幕字样,也没有找到弹幕的文字,于是直接去网络搜索弹幕,看看有什么发现。果然在XHR选项下发现了一个奇怪的URL。.然后点击网址预览Preview,发现是一堆乱码。我下载了.z文件的压缩包,打不开。.但我坚信,这就是弹幕,毕竟商业:弹幕太明显了。然后用zlib打开,得到了我想要的。其中,content为弹幕内容。让我们看一下url的结构。其实还可以简化。只需要获取对应的tvid,最后获取弹幕请求的url地址如下:https://cmts.iqiyi.com/bullet..._300_x.z其中x是总时长除以影片按300秒取整,即每5分钟一包。这样只要遍历x就可以得到一集的弹幕,然后得到并遍历所有的tvid就可以得到所有集的弹幕。分析完网页,下面就可以开始写爬虫代码了。02抓取解析数据的具体代码如下:#importpackageimportrequestsimportpandasaspdimportzlibimportreimporttimeimportparseldefget_aiqiyi_danmu(tvid):"""功能:给定tvid,获取爱奇艺某集的弹幕评论信息"""#创建一个空的dfdf_all=pd.DataFrame()#Initialpage_numpage_num=1whileTrue:#Printprogressprint('Iamgettingcommentinformationonpage{}'.format(page_num))try:#GetURLurl='https://cmts.iqiyi.com/bullet/{}/{}/{}_300_{}.z'.format(tvid[-4:-2],tvid[-2:],tvid,page_num)#添加headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/81.0.4044.129Safari/537.36'}#initiatearequesttry:r=requests.get(url,headers=headers,timeout=3)exceptExceptionase:r=requests.get(url,headers=headers,timeout=3)#转换为字节数组对象zarray=bytearray(r.content)#解压字符串xml=zlib.decompress(zarray,15+32).decode('utf-8')#用户amename=re.findall('(.*?)',xml)#commentIDcontentId=re.findall('(.*?)',xml)#评论信息content=re.findall('(.*?)',xml)#显示时间showTime=re.findall('(.*?)',xml)#点赞数likeCount=re.findall('(.*?)',xml)#保存数据df_one=pd.DataFrame({'name':name,'contentId':contentId,'content':content,'showTime':showTime,'likeCount':likeCount})#循环添加df_all=df_all.append(df_one,ignore_index=True)#休眠一秒sleep(1)#页数+1page_num+=1exceptexceptase:breakreturndf_all得到的数据如下,总共爬取了16期到32集的671776条弹幕(20993条,间隔300s爬取),来看看弹幕下的《青春有你2》吧。获取的数据以数据表的形式存储,如下图,包括信息:集数、用户名、评论ID、评论内容、评论时间、评论点赞数。CDA数据分析师作者:泽龙、米卡数据:振达后期:泽龙