最近又火了一部国产剧:《隐秘的角落》,没看过的你可能会在朋友圈跟大家说,《一起爬山吧》、《小白船》、《是吗》还有机会吗?”感到莫名其妙。图片来自Pexels。由于《隐秘的角落》是爱奇艺独播,所以数据最直接取自爱奇艺。如果没有爬过爱奇艺推荐的暑期游,可以考虑用豆瓣、微博、知乎的数据(电视剧数据分析和万能三件套)。爬虫剧很精彩,但追剧界有一句话:“弹幕往往比剧更精彩”。为了让精彩继续下去,终究还是忍不住弹幕了。爱奇艺的弹幕数据以.z格式的压缩文件存在。先获取tvid列表,然后根据tvid获取弹幕的压缩文件,最后解压保存,大概就是这么一个过程。我实现分集爬取,爬取所有弹幕,代码如下:defget_data(tv_name,tv_id):url='https://cmts.iqiyi.com/bullet/{}/{}/{}_300_{}。z'datas=pd.DataFrame(columns=['uid','contentsId','contents','likeCount'])foriinrange(1,20):myUrl=url.format(tv_id[-4:-2],tv_id[-2:],tv_id,i)print(myUrl)res=requests.get(myUrl)ifres.status_code==200:btArr=bytearray(res.content)xml=zlib.decompress(btArr).decode('utf-8')bs=BeautifulSoup(xml,"xml")data=pd.DataFrame(columns=['uid','contentsId','contents','likeCount'])data['uid']=[i.textforiinbs.findAll('uid')]data['contentsId']=[i.textforiinbs.findAll('contentId')]data['contents']=[i.textforiinbs.findAll('content')]data['likeCount']=[i.textforiinbs.findAll('likeCount')]else:breakdatas=pd.concat([datas,data],ignore_index=True)datas['tv_name']=str(tv_name)returndatas注意:避免造成不必要的麻烦,本爬虫仅指出关键步骤,不再公开。一共爬取了201865条《隐秘的角落》弹幕数据,如下图:可以获得。#累计发送弹幕的用户数发送弹幕数']danmu_counts.head()累计发送弹幕数前5名的用户实际发送了2561条弹幕。这只是一部12集的网络剧。弹幕发射器真的是水手吗?每个都差不多?df_TOP1=df[df['uid']==1810351987].sort_values(by="likeCount",ascending=False).reset_index()df_TOP1.head(10)但不是,每一个弹幕都是观众发的,也许他/她只是一边看剧一边发弹幕。这位“弹幕发射器”的朋友,每集弹幕的音量是多少?弹幕的多样性&平均体积从上图是否可以看出个别剧集的戏剧冲突更大,更能唤起观众的共鸣?投诉呢?“弹幕发射器”同志,请增加11、12集的输出!每个人都同意这些子弹喋喋不休。“弹幕发射器”同志,让我们继续探索分集剧集的弹幕吧。看看每一集,哪个弹幕大家都赞同(点赞)?df_like=df[df.groupby(['tv_name'])['likeCount'].rank(method="first",ascending=False)==1].reset_index()[['tv_name','contents','likeCount']]df_like.columns=['episode','弹幕','like']df_like每一集点赞数最多的那个每一集弹幕中最好的弹幕就是剧情的集中度插曲。这些都是观众票选出来的梗(吐)!它不应被视为剧透。你也可以去爬山。除了朝阳东升的剧本和音乐,“老演员”和“青年演员”的演技也获得了网友的一致好评。这部剧虽然只有12集,但故事情节却不是一两个人的事情。每个人背后都有自己的故事,又因种种巧合串联在一起,引发观众热议不断。我们统计一下弹幕中演员出现的次数,看看剧中哪些角色被提及的次数最多。a={'张东升':'东升|秦昊|张老师','朱朝阳':'朝阳','炎凉':'炎凉','扑扑':'扑扑','朱永平':'朱永平','周春红':'春红|大夫人','王瑶':'王瑶','徐静':'徐静|黄米易','陈冠生':'王景春|老陈|陈冠生','叶俊':'叶俊|皮卡皮卡','马主任':'主任|老马','朱晶晶':'晶晶','叶迟敏':'叶迟敏'}forkey,valueina.items():df[key]=df['contents'].str.contains(value)staff_count=pd.Series({key:df.loc[df[key],'contentsId'].count()forkeyina.keys()}).sort_values()先计算出出现的次数,然后用pyecharts做极坐标图:弹幕中提到的主要演员的对比让我纳闷。三个孩子中,朱朝阳的提及度这么低,按理说应该和另外两个差不多。又去查了下源数据,发现朱朝阳(朝阳)在弹幕里真的很少见,因为弹幕里的大部分观众平时都叫他“学霸”、“儿子”等等。众所周知,一篇有几点的文章少不了词云。每篇文章的词云尽量与上一篇不同。这次用的是stylecloud,是wordcloud词云包的升级版,看起来漂亮多了。importstylecloudfromIPython.displayimportImagestylecloud.gen_stylecloud(text=''.join(text1),collocations=False,font_path=r'C:\Windows\Fonts\msyh.ttc',icon_name='fasfa-play-circle',size=400,output_name='隐秘的角落-词云.png')Image(filename='隐秘的角落-词云.png')20万弹幕词云。在主题游戏中,对儿童思想和行为的探讨占据了重要的部分。此外,剧中从老演员到小孩子,每个人都贡献了自己出色的演技,对他们演技的褒奖也成为了该剧的重要看点。高频词汇。而最开箱即用的“爬山”梗更是频频被提及。要不要一起爬山?从《无证之罪》到《隐秘的角落》,证明悬疑犯罪题材没有市场。要想获得知名度和美誉度,如何传播和营销只是一种手段。越来越多的团队潜心打磨优质剧集,观众才会愿意为剧集买单,让“爬山”的梗一步步“出圈”。本文相关数据及可视化源码下载:https://alltodata.cowtransfer.com/s/5b483c08987243作者:朱小武编辑:陶嘉龙来源:转载自微信公众号凹凸数据(ID:alltodata)
