Py学习  »  Python

再见, 达叔!我用Python回顾一代喜剧大师203部作品,太经典了!

Python猫 • 3 年前 • 250 次点击  

 △点击上方“Python猫”关注 ,回复“2”加入交流群

作者:菜鸟哥
来源:菜鸟学Python
今天早上看到新闻,一代喜剧大师,著名的喜剧演员达叔离开了,心情还是非常沉重的。小编是看过达叔演的电影长大的,比如新乌龙院,功夫,少林足球,逃学威龙,鹿鼎记,大话西游,还有近几年的流浪地球等等经典的影片,达叔算是一个非常敬业的演员。

前段时间看浙江卫视的王牌对王牌时,还看到达叔上了这档综艺,发现达叔老了很多。


期间主持人还问了达叔:“什么时候能和周星驰再次合作”?

达叔笑着回答:“他还没有退休,我还没有死,就一定有机会”。

没有想到,现在这句话已经成了遗憾了~~我们再也没有机会,看到这对黄金搭档在电影里出现了。

一代喜剧大师就这么走了,让人感慨万千,小编决定用Python来回顾 “达叔”的一生的电影。


01.数据获取

对于数据的获取,我们是通过对于豆瓣电影中所收录的关于达叔的影视作品为基础,获取达叔电影作品的数据信息。

对于数据的抓取,我们通过Google浏览器的爬虫插件WebScraper来进行获取,对于插件的安装,大家可以参考小编之前跟大家分享的关于WebScraper的文章(牛逼的chrome插件,不用一行代码,轻松爬取各大网站公开信息!(附视频))。利用webscraper对于数据的抓取,如下图所示。


上图中,大家可以按照上述的步骤,打开webscraper后,创建新的sitemap,并在网页中选择自己需要抓取的元素,webscraper会自动的提取对应的元素,点击“done selecting”后,保存selector执行抓取,就可以获得得到豆瓣电影中关于达叔的电影数据。


02.数据清洗

通过上图可以看到,抓取到的数据,虽然非常的全面,但是却很乱,需要针对数据内容进行清洗,并提取关键的数据。这里我们以提取电影的上映时间、评分和电影时长数据的提取为例,进行数据的简单清洗,程序如下图所示。

程序首先提取数据当中的整数和小数部分,针对每部影片中包含不同数量的数字来进行处理,需要注意的是,数据中确实存在电影评分或者是电影时长的缺失,所以针对缺失的内容,这里用0来进行填充。清洗后得到的数据如下图所示。


03.数据分析

1).电影年份分布

获得清洗完成的数据后,接下来我们首先来看一下,达叔作为一名从艺48年的艺人,在漫漫旅途的电影生涯中,不同年份的电影产量到底如何:

上图程序中,首先利用collections库中的Counter类来进行电影上映年份的统计,然后利用柱状图来进行结果的可视化展示。


可以看到,达叔的电影产量的最高峰是在上世纪的九十年代,其中1992年更是参与了多达17部影视作品的制作,其中就包括了与周星驰合作的《逃学威龙2》以及《武状元苏乞儿》等经典电影。




2).电影类型分布

达叔作为一名出色的演员,其演艺生涯中也涉及到了许多类型的电影,我们通过饼形图来看一下达叔的电影类型的分布情况,程序如下图所示。

程序首先通过统计不同类型电影的数量,然后利用饼形图进行结果的可视化,其结果如下图所示:

通过饼形图的可视化结果,可以看到在电影类型中,达叔有超过41.29%的电影都是属于喜剧电影,因此达叔作为一名喜剧大师被广为人知,但是达叔同样也是在其他类型电影中有很多成就的演员,涉及到的影片类型多达10种。


3).电影评分分布

一部影片的好坏,通过大家的评分就能够很好的进行判断,我们接下来看一下达叔电影的评分,如下图所示:

可以看到,达叔的电影评分,成绩大都分布在6-8分之间,可以说达叔的电影不仅高产而且影片质量都是比较不错的。


4).合作过的明星

而在达叔的平生电影中,合作最多的明星通过统计可以得制,周星驰是和达叔合作最多的影星,在豆瓣抓取到的数据中,二人合作了24部电影,时间横跨了十余年,可谓是一生的挚友。


达叔电影中评分最高的《大话西游之月光宝盒达到了9.0分的高分,虽然上映距今已经有26年之久,但是今天看来仍旧是一部百看不厌的影片。最后我们来看一下豆瓣影评中的词云对这部电影的评论。



可以看到,大家对于这部影片最大的评价是“经典”,一部能够让大家至今都觉得非常好看的电影,是对电影人最好的褒奖,也是对于达叔电影生涯的肯定。


以上就是小编对于达叔电影的分析,通过分析达叔的电影,让我们再一次的感受达叔带给我们的欢笑和回忆,大家对于达叔电影的哪几部影响比较深刻呢?

近两年里,我原创和翻译了130+技术文章,主要关注Python进阶、小技巧、编程设计、PEP翻译、Python哲学等话题。现已集结出了一本电子书《优雅的Python》,请回复数字『1』,获取下载地址。

近期热门文章推荐:

Python重大变化:是match-case,不是switch-case
Python进阶:迭代器与迭代器切片
Python 为什么要保留显式的 self ?
非常干货:Python 探针实现原理
Python 如何移除旧的版本特性,如何迎接新的特性?

分享在看是对我最大的支持!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/108353
 
250 次点击