达叔
星爷已经转到幕后很久了,而达叔其实一直都有活跃在荧幕。2019年国产高票房科幻电影《流浪地球
》里的姥爷韩子昂,今年刚上线不久的网络电影《少林寺之得宝传奇
》里的客商老者。达叔一直都在带给我们快乐与感动,可惜这些都在今后成为回忆,定格在了2021年2月27日。
今天,我们通过Python爬取豆瓣里达叔的238
部作品,看看那些年, 达叔出演过的作品与合作过的演员们。
大家可以在公众号聊天框 回复 0303
获取 达叔全部作品详情数据、爬虫代码和图表词云绘制代码文件。
目录:
从豆瓣数据显示,达叔最早上线的作品是1975年
香港TVB电视台播映的古装短篇剧集《宋江怒杀阎婆惜》,这部剧里还有大家熟悉的发哥。在至今的46年里,达叔作品238部,平均每年高达5部有余。
从1975年至今的46年时间里,达叔基本上每年都有作品上线,其作品上线最多的年份在90-93年,像《赌神系列
》、《逃学威龙系列
》、《整蛊专家》、《审死官》、《鹿鼎记
》、《武状元苏乞儿
》等经典都是在这几年上线的。像我们更熟知的《大话西游系列
》则是在95年上线,《喜剧之王
》和《少年足球
》分别在99年和01年上线。
达叔作品上线时间分布
在达叔238部作品中有67部电视剧和171部电影,其中83版的《射雕英雄传
》里达叔出演的是丐帮净衣帮彭长老,彼时的星爷是宋兵乙。除此之外,我比较熟悉的还有他和曹骏、释小龙主演的《九岁县太爷
》。
电视剧与电影占比
达叔的作品主要以喜剧为主,我少时记忆里达叔就是一个无厘头搞笑
的形象。
分类形式
达叔的作品,在豆瓣有评价的共177部,其中电影较多有134部,电视剧有43部。
以下树状热力图中,颜色越深代表评分越高(更受观众喜欢),面积越大代表评价数越多(更火)。咱们可以看到最火的依次是《流浪地球》、《大话西游系列》、《喜剧之王》和《九品芝麻官》,这其中《大话西游系列》最受观众喜欢,评分超高都在9分+。
达叔作品豆瓣评价
达叔出演过的电视剧评分基本都在6分左右及以上,达叔出演过的电影则大部分集中在6-8分。
达叔作品评分分布
达叔作品中评分前五:
评分前5的作品
除了电视剧普遍都是较低评价数之外,达叔的高分电影的评价数也都较多。
达叔作品的评价数分布
达叔作品中评价数前五:
评价数前5的作品
和达叔合作过的导演有166位(同一部电影或电视剧都存在多个导演),演员则高达1,157位(豆瓣作品详情页记录的演员)。
和达叔合作过的166位导演中,与朱延平
合作14次,和王晶
合作13次,同杜琪峰
合作10次。
大灌篮
》;阿郎的故事
》则是达叔与杜琪峰和王天林导演合作过的。和达叔合作过的导演云图
达叔合作过的演员则高达1,157位,其中星爷首屈一指,合作剧作高达30部+
,其次是黄一飞和张敏的21部以及华仔的18部。
月光宝盒
和达叔合作过的演员云图
达叔荣誉
这里不介绍详情爬虫过程了,直接贴源码:
思路:从个人页作品列表中找到每个作品的详情页采集详情数据。
# -*- coding: utf-8 -*-
"""
Created Feb 28 10:30:56 2021
@author: 可以叫我才哥
"""
import requests
import re
import pandas as pd
import html
from lxml import etree
from tqdm import tqdm
import random
import time
def get_html(url):
time.sleep(1)
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36",
}
# 作为演员
r = requests.get(url, headers=headers)
# 请求的网页数据中有网页特殊字符,通过以下方法进行解析
r = html.unescape(r.text)
r = re.sub(':\xa0', '', r)
return r
url = 'https://movie.douban.com/celebrity/1016771/movies?start=0&format=pic&sortby=time&role=A1'
r = get_html(url)
# 获取页数
pages = int(re.findall(
r'<span class="count">\(共(\d+)条\)</span>', r)[0])//10 + 1
works = []
for page in tqdm(range(15,pages)):
url = f'https://movie.douban.com/celebrity/1016771/movies?start={page*10}&format=pic&sortby=time&role=A1'
r = get_html(url)
r_html = etree.HTML(r)
# 找到每页剧目信息列表所在的节点
ul = r_html.xpath('//*[@id="content"]/div/div[1]/div[2]/ul')[0]
# 找到每页全部的剧目列表
lis = ul.xpath('./li')
for li in lis:
work = {}
work['url'] = li.xpath('.//dl/dt/a/@href')[0]
r_info = get_html(work['url'])
r_info_html = etree.HTML(r_info)
a = r_info_html.xpath('//div[@id="info"]//text()')
b = ''.join(a)
c = b.replace(' ', '')
d = re.sub(r'\n+', '\\n', c)
e = d.split('\n')
keys = [i.split(':')[0] for i in e[1:-1]]
values = [i.split(':')[1] for i in e[1:-1]]
work.update(dict(zip(keys, values)))
work['作品名称'] = li.xpath('.//h6/a/text()')[0]
work['年份'] = re.findall(r'(\d+)', li.xpath('.//h6/span/text()')[0])[0]
try:
work['评分'] = li.xpath('.//dl/dd//div/span[2]/text()')[0]
work['评价数'] = li.xpath('.//dl/dd//div/span[3]/text()')[0]
except:
pass
works.append(work)
df = pd.DataFrame(works)
- 往期推荐 -
①我又用Python爬取了4000+股票数据,并用plotly绘制了树状热力图(treemap) ②python爬取股票最新数据并用excel绘制树状图 ③Python爬虫 | 爬虫基础入门看这一篇就够了