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

豆瓣9.2!17万弹幕告诉你《沉默的真相》为什么有这么高的口碑!

时间:2023-03-26 16:55:47 Python

CDA数据分析师出品:米卡数据:真大【攻略】今天教大家如何用Python分析来自《沉默的真相》的17万弹幕。距离上一部国产良心剧《隐秘的角落》开播不到2个月,“秃头梗”“爬山梗”依然让人记忆犹新。紧接着又来了一部热播的国产剧,那就是最近口碑爆棚的《沉默的真相》。同样出自爱奇艺悬疑短剧《迷雾剧场》,《沉默的真相》改编自紫金陈的小说《长夜难明》。讲述了江阳检察官耗时多年,付出无数代价,为查明案件真相的故事。开播首日,《沉默的真相》豆瓣评分8.8分。随着剧集的播出,该剧口碑势不可挡,一路走高。六集过后,豆瓣评分9.2分,成功超越前任《隐秘的角落》。要知道,这种高开高走的趋势,在国产剧中是非常少见的。很多网友在刚看剧的时候都不相信自己会哭,但是看完大结局才发现,好到哭不出来。看到男主姜洋舍生忘火烧灯,真是让人泪崩兰州拉面……那这《沉默的真相》系到底为什么这么火?为什么是年度国剧大结局?今天我们就用Python带大家解读一下。01.豆瓣9.2分!千浪之外《隐秘的角落》最后一部号称年度爆款的国剧是《隐秘的角落》,改编自紫金陈的推理小说--《坏小孩》,《隐秘的角落》一开播就带来了《小白船》、《山“攀爬梗”和“秃头梗”忙碌了整个夏天。超过78万人在豆瓣打分,最终评分8.9分,这是一个非常惊人的成绩。没想到,就在这2个月,又一部悬疑剧《沉默的角落》凭借口碑爆红!同样改编自作者陈紫金的小说《长夜难明》,豆瓣评分8.8。随着播出评分越来越高,已经有超过20万人打分,评分9.2,已经超越千浪《隐秘的角落》。豆瓣总分分析细看观众评分,我们发现92.8%的观众给出了五星满分,在国产剧中达到了标杆水平。豆瓣短评论词云然后我们看到豆瓣短评论词云。我们可以看到,短评中观众讨论最多的是主角“姜洋”。他的坚定和执着,实在是难能可贵。“演员的演技”、“剧情”、“原著”的还原度,都得到了广泛的认可和好评。02.看剧《沉默的真相》,17万弹幕在说什么?那么大家在看剧的时候,都在聊什么呢?接下来,我们用Python分析了《沉默的真相》前10集的视频弹幕,一共173226条。前十集弹幕走势图从图中可以看出,大家看剧都爱发弹幕。前十集中:弹幕数最多的是第9集、第3集、第10集,单集弹幕数最多的是18903条,弹幕数最少的是第六集,有15561条弹幕。再来看看剧中主要人物的弹幕词云:白宇饰演的江阳,原本年轻有为,却为了追寻真相,坚持正义,付出了自己的生命。“正义”、“强大”、“演技”等词频频出现在词云中。李靖弹幕词云对于谭卓饰演的李靖,很多人在看剧的时候都会想起她在《延禧攻略》中饰演的高贵妃。无论是从《高贵妃》到《我不是药神》中的刘思慧,还是这次的李靖,谭卓的演技都是有目共睹的。颜良的弹幕词云自官宣演员廖凡的首个官宣以来,不少观众表示因为廖凡不得不看《沉默的真相》。果然,节目一播出,就有粉丝称赞他是“免检品”。没错~扮演张超弹幕词云的宁力老师是迷雾剧场的老朋友了。他在《无罪之证》中饰演的社会“丰田大哥”话不多,“逆烟”实在是太深入人心了。从《无证之罪》到《隐秘的角落》,再到《沉默的真相》,严良一共换了三个人。严良真是一帆风顺,李奉天是铁打的。03.手把手教你用Python分析弹幕我们用Python获取爱奇艺前十集的弹幕数据并进行分析《沉默的真相》。整个数据分析过程分为以下三个部分:弹幕数据采集数据读取数据可视化分析的输入和简单处理1.数据采集关于爱奇艺的弹幕数据采集程序,在上一篇文章中已经进行了讲解。2.数据读取和预处理首先导入需要的包,其中pandas用于数据读取和数据处理,os用于文件操作,jieba用于中文分词,pyecharts和stylecolud用于数据可视化。importlibraryimportjiebaimportpandasasppdffrompyecharts.chartsimportBar,Pie,Line,WordCloud,Pagefrompyechartsimportoptionsasoptsfrompyecharts.globalsimportSymbolType,WarningTypeWarningType.ShowWarning=FalseimportstylecloudfromIPython.displayimportImage将爬取的数据存储在下data文件夹,使用os操作获取需要读取的csv文件列表,循环读取文件。读入数据data_list=os.listdir('../data/')df_all=pd.DataFrame()foriindata_list:ifi.endswith('csv'):df_one=pd.read_csv(f'../data/{i}',engine='python',encoding='utf-8',index_col=0)df_all=df_all.append(df_one,ignore_index=False)print(df_all.shape)(173226,6)弹幕那里一共173226个条目,预览数据:df_all['name']=df_all.name.str.strip()df_all.head()3.数据可视化-弹幕数量多样性的代码解释:repl_list={'第1集':1,第2集:2,第3集:3,第4集:4,第5集:5,第6集:6,第7集':7,'第8集':8,'第9集':9、'Episode10':10}df_all['episodes_num']=df_all['episodes'].map(repl_list)df_all.head()生成数据danmu_num=df_all.episodes_num.value_counts()danmu_num=danmu_num.sort_index()x_data=['th'+str(i)+'set'foriindanmu_num.index]y_data=danmu_num.values.tolist()barchartbar1=Bar(init_opts=opts.InitOpts(width='1350px',height='750px'))bar1.add_xaxis(xaxis_data=x_data)bar1.add_yaxis('',y_axis=y_data)bar1.set_global_opts(title_opts=opts.TitleOpts(title='前十集弹幕数量趋势图'),visualmap_opts=opts.VisualMapOpts(max_=20000,是_show=False))bar1.render()x_data=['th'+str(i)+'set'foriindanmu_num.index]y_data=danmu_num.values.tolist()barchartbar1=Bar(init_opts=opts.InitOpts(width='1350px',height='750px'))bar1.add_xaxis(xaxis_data=x_data)bar1.add_yaxis('',y_axis=y_data)bar1.set_global_opts(title_opts=opts.TitleOpts(title='前十-episode弹幕图'),visualmap_opts=opts.VisualMapOpts(max_=20000,is_show=False))bar1.render('../html/爱奇艺弹幕图.html')弹幕角色-江阳词云图定义分词函数defget_cut_words(content_series):读取停用词列表stop_words=[]withopen(r"stop_words.txt",'r',encoding='utf-8')asf:lines=f.readlines()forlineinlines:stop_words.append(line.strip())addkeywordsmy_words=['廖凡','颜良','白宇','姜洋','谭卓','李静','宁li','张超','黄姚','张小倩','奥利']foriinmy_words:jieba.add_word(i)自定义停用词my_stop_words=['really','this','this','a','that','ahhh','hahaha','hahahaha','Iwant']stop_words.extend(my_stop_words)分词word_num=jieba.lcut(content_series.str.cat(sep=''),cut_all=False)条件过滤word_num_selected=[iforiinword_numifinotinstop_wordsandlen(i)>=2]returnword_num_selected得到分词结果text1=get_cut_words(content_series=df_alldf_all.name=='江洋')绘制词云图stylecloud.gen_stylecloud(text=''.join(text1),max_words=1000,collocations=False,font_path=r'C:WindowsFontsmsyh.ttc',icon_name='fasfa-heart',size=653,output_name='弹幕人物-江阳词云图.png')