用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

要说最近有什么比较火的话题,自然是热播剧《延禧攻略》了,我在吃饭的时候也经常蹭老婆的pad看一两集。

如果不是以比较苛刻的眼光去看,这部剧确实有相当可圈点之处,情节紧凑不拖沓

虽然有些角色比较智障,但总体来说形象还是比较丰满的,演员也很敬业,是一部不错的霸道总裁片。

福利:私信回复【02】可获取爬虫视频教程

然后看的时候我就在想……

  • 这部戏里哪个角色的戏份是最多的呢?
  • 戏份多的是不是人气就一定很高呢?

刚好python里有学过关于词频统计的知识

稍微魔改一下,看能不能弄出想要的结果。

需求:统计《延禧攻略》中各角色的戏份

如何定义“戏份”这个概念?我们知道,一个角色的出场次数直接决定了该角色的曝光度,在其他角色的互动中出现在对话里也能间接增加其存在感。所以如果能找到相关文本,就有可能实现想法。

可以选择的统计对象有剧本和小说两种。理想状态下可能剧本更合适一些,不过我暂时弄不到完整的剧本,所以就用原著小说代替了。快速浏览小说后发现,虽然在部分细节和对话上与电视剧有所差异,但是人物总体出场情况及情节走向还是一致的,可以作为研究对象。至于我是从哪里搞到的小说全集这并不重要。

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

(你们知道作为一个直男,我在检查文本的时候是什么样的心情吗)

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

那么废话不多说,直接开始想解决方案。根据我有限的知识,这个问题应当按照以下步骤来分析:

  1. 以合适的格式读入文本
  2. 用jieba库进行分词处理(全文没有英文)
  3. 建立字典,将每一个词(键)与其出现次数(值)进行映射
  4. 按照某个顺序排列键值对
  5. 打印输出

结合之前学过的一个统计实例

很快代码就出来了:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

然后打印输出,得到的结果是:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

emmm...多出来很多奇怪的东西,这里和其他词频统计不同

我们要的只有角色名,什么“宫女”“知道”之类的词汇是不应该出现的。

这里就有必要对非必要词汇进行排除了。

基本的思路是反复运行程序,再手动挑出需要被排除的词语录入到一个excludes列表里

然后使用for in函数把字典里的值删去。

然后我进行了巨大的工作量……

建立了这么一个词库:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

然后在后面多加一段这个:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

保存,跑一遍,得到这个:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

好像哪里不对。

“魏璎珞”和“璎珞”分明是同一个人,“弘历”和“皇上”同理也没有区别。

这部剧里各角色在不同时期、不同身份下称为均有所不同

也就是说有必要了解所有角色可能的称谓,并将同角色称谓进行归纳。

于是我机智地点开了网页,

找到了《延禧攻略》全角色简介:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

同时:

为了让python学习这些角色名,另新建一txt文档把角色名及别名全部输入进去,用jieba进行读取;

对代码动手,把角色不同称谓进行映射:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

运行程序看看:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

这样就顺眼多了。然而我还是有点不满意:

虽然建立了excludes列表,但通过人力也仅仅能排除几十个干扰项,顶多能弄出前30的排名,再多就非常累了。

这显然不符合我的预期,于是我瞧了excludes半天,想出一个解决方案:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

真是不容易,连出场一两次的小角色都统计出来了。

事实上作为一个菜的抠脚的新手,这一步想了我很多时间。

最后为了优化代码提高用户体验,将最后结果输出到一个txt文档中,方便转化为csv文件导入excel分析。

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

然后在excel里拉个图表来瞧瞧:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

乾隆:魏璎珞同志,谁才是大猪蹄子呢?你一个人细分比朕和皇后加起来都多

可以看到,在原著中魏璎珞不愧是第一女主,其戏份比皇帝和皇后加起来还多。

其他戏份比较足的是明玉、慧贵妃、尔晴、纯妃、袁春望、太后这几个角色

其他角色有些虽然也比较重要,但是出场率显然不及前几位了。

那么,电视剧播出后,这几位的人气是否与他们的戏份是正相关的呢?

这里当然可以抓取开播以来的网络评论数据来检索关键词,不过为求简(tou)便(lan),这里直接用百度指数代替了:

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?

其他角色相对这几位都太低了

尔晴:...你们这群渣渣,姐姐我才是人气明星!!!

用菜的抠脚的python语言统计《延禧攻略》各角色戏份,谁是主角?


分享到:


相關文章: