前言:
随着社会的发展,越来越多的电视剧出现在了电视的荧幕或是视频网站。学习Python中有不明白推荐加入交流群
号:516107834
群里有志同道合的小伙伴,互帮互助,
群里有不错的学习教程!
其中有许多的精品,例如经久不衰的《西游记》《红楼梦》,亦或是近年来口碑十分不错的《琅琊榜》《白夜追凶》,然而也有一些电视剧,因为种种原因,并不是很尽如人意。
今天我们通过爬取豆瓣上近5000部有评分的国产电视剧(不包括港台剧),对比一下剧集以及参演演员的评分情况。
01
数据来源
本次我们爬取的数据来源主要分为三个部分:分别是有评分的剧集列表、剧集评分及其他信息、演员信息,对应如下三个页面:
PART1:剧集列表
PART2:剧集信息
PART3:演员信息
通过爬取以上三个页面的数据,我们可以获得完整的电视剧评分及演员信息数据,用于之后的数据对比及可视化,我们以爬取第一部分的代码为例,展示整体爬取思路:
driver = webdriver.Chrome()
driver.maximize_window()
driver.close()
driver.switch_to_window(driver.window_handles[0])
url = 'https://movie.douban.com/tag/#/?sort=U&range=2,10&tags=%E7%94%B5%E8%A7%86%E5%89%A7,%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86'
js='window.open("'+url+'")'
driver.execute_script(js)
driver.close()
driver.switch_to_window(driver.window_handles[0])
while True:
try:
js="var q=document.documentElement.scrollTop=10000000"
driver.execute_script(js)
driver.find_element_by_class_name('more').click()
time.sleep(2)
except:
break
name = [k.text for k in driver.find_elements_by_class_name('title')]
score = [k.text for k in driver.find_elements_by_class_name('rate')]
url = [k.get_attribute('href') for k in driver.find_elements_by_class_name('item')]
pd.DataFrame({'name':name,'score':score,'url':url}).to_excel('电视剧名称.xlsx')
02
剧集对比
我们在剧集对比部分主要展示两部分数据,首先是TOP15以及BOTTOM15的剧集评分及拍摄年代:
可以看到十分鲜明的对比,评分较高的剧集大多拍摄年份剧集都有一定的年头,并且历经时间的考验,愈发展示其独特的魅力。相反,一些评分较低的剧集,往往都是近年来拍摄的,可能这也与剧集增多有关。需要提醒的是榜单中的《寻秦记》不是古天乐版本,那是经典中的经典,至于榜单中出现的版本,大家可以有机会亲自去了解一下
正所谓没有无缘无故的爱,也没有无缘无故的恨,我们也选取了豆瓣当中对于剧集的一些有意思的点评。通过点评,让我们了解这些评分产生的原因:
TOP篇:
1
许多年以后观看发现,其中造型与性格塑造完美,准确把握原著,时代影响力巨大,印象极其深刻。------《西游记》
2
老一代影艺人是以一种虔诚的态度对待红楼梦的,87版之后,世间再无真人版红楼。------《红楼梦》
3
这就是我的圣经,思想启蒙之作 ------《我爱我家》
4
鞋儿破 帽儿破 身上的袈裟破 你笑我 他笑我 一把扇儿破 经典 ------《活佛济公》
5
绝对是国产情景喜剧无法超越的巅峰之作!其中每个角色都是无法复制的! ------《武林外传》
BOTTOM篇:
1
没见到甜蜜,倒是这个演技每一秒都是暴击 ------《甜蜜暴击》
2
现在还是有这么多粗糙的偶像剧,玩了几十年的老套桥段还在用 ------《极光之恋》
3
瞟了半集被吓死了,演技跟痴呆似的= = ------《路跑甜心》
4
剧情奇葩,演技浮夸,特技粗糙。一剧融合了以上的所有元素,导演简直就是演艺圈的火锅店老板 ------《来自星星的继承者们》
5
于妈拍的那版.....其实还挺好看的! ------《新笑傲江湖》
03
演员对比
我们此次根据演员参演的剧集评分,考虑演员在其中角色的重要性进行赋权,结合剧集评论数量,加权平均得到每个演员的评分情况。首先是我们评选的评分靠前的演员及其出生年份:
估计大部分年轻的读者,可能对这些名单中的演员很多都不是很熟悉,在此小编建议各位可以去看一下这些老戏骨的剧集,感受他们所散发的魅力。同时我们也专门对比了下80后、90后(包含00后)的评分,找寻其中的佼佼者:
刘昊然在评分中领跑其他的90后,考虑到其今年只有20岁出头,我们也期望他在未来能给我们带来更多经典的作品。
可能很多读者对TOP20的演员并不是很熟悉,其实大可不必,因为下面的榜单中相信大多都会是你所熟悉的:
想必看到这里,各位会找到熟悉的感觉,我们相信榜上的各位演员其实也是最具潜力的演员。只要努力雕琢演技,未来一定会受到观众对其演技的认可,我们同时分别对比了一下男、女演员:
在此需要指出的是,余文乐和赵又廷上榜并不是因为其剧集评分真的偏低,主要是其参与的大陆制作剧集评分较低,并且我们此次没有统计港台剧。我们也希望榜单中的各位演员未来更加精彩的表现。
04
星座分布
感谢豆瓣给我们提供了演员星座的数据,小编周围也有许多对星座十分感兴趣的朋友,不妨我们看一下星座的分布情况:
看来星座整体分布还是比较平均的,只是天秤座和天蝎座略多于其他星座,关于星座,至于你信不信,反正小编是不怎么信的
关于矩形树图的实现,可以参考以下代码:
from pyecharts import TreeMap
star_stat = actor_data.groupby('xingzuo').agg({'name':'count'}).reset_index().sort_values('name'
,ascending=False)[0:12].reset_index()
data = [{'value':star_stat['name'][i],
'name':star_stat['xingzuo'][i]+' '+str(star_stat['name'][i])} for i in range(star_stat.shape[0])]
treemap = TreeMap("星座分布图", width=1200, height=600)
treemap.add("星座分布", data, is_label_show=True, label_pos='inside')
treemap.render('星座分布.html')
05
城市分布
我们在看完了星座分布之后,再继续来看一下演员的城市分布,看看有多少自己的老乡在参演着电视剧:
不出意外,北京和上海两大中心城市的演员数量也是最多的,而第三名就是小编的家乡青岛了。之前每当小编提及青岛,总是会提起青岛的明星多,这次的数据更加使得小编未来有了交流(chuixu)的底气。
我们下面分别来看一下TOP5的各个城市明星名单:
北京
上海
青岛
哈尔滨
西安
网友评论