程序员用Python分析徐峥 竟研究出《我不是药神》30亿票房真正秘诀
消息来源:baojiabao.com 作者: 发布时间:2026-05-12

前言
前段时间向往的生活第二季中,托尼何老师给山争大叔洗头那一幕,着实给节目赚足了笑点。
而最近徐峥凭借《我不是药神》在电影院也收了不少观众眼泪,在这部电影里面他颠覆了当初囧系IP电影和心花路放的搞笑印象。对于现实主义的题材作品,电影本身的成功不仅在题材的选取上,更是因为监制宁浩徐峥、导演文牧野和其他主演的一起合作。
《港囧》发布时,山争哥另辟蹊径,在发布会上化身“徐布斯”用大数据分析《港囧》,把观众笑声次数换算成票房收入。
所以在徐峥的独特眼光中,什么样的题材、导演、演员才是他的青睐?本文用Python爬取数据、并用R语言进行数据可视化处理来了解这位才子。
数据爬取
考虑到只有几百条数据,就简单地写了爬虫脚本,得到徐峥合作过的演员、合作次数、演员被收藏数、合作的作品名、作品导演、作品类型、作品评分。Python代码如下:
1#-*- coding: utf-8-*-
2from bs4 import BeautifulSoup
3import requests
4import pandas
5importtime
6newarry = []
7user_agent ="*******"
8headers = {"User_Agent": user_agent}
9foriinrange(15):
10gradeUrl ="https://movie.douban.com/celebrity/1274297/partners?start="+str(i*10)
11res = requests.get(gradeUrl, headers)
12soup = BeautifulSoup(res.content,"html.parser").find(class_="article")
13foriteminsoup.find_all(class_="partners item"):
14partner = item.select("a")[1].text
15times = item.select("li")[1].text
16collect_num = item.select("li")[2].text
17url_list = item.select("li")[1]
18forurlinurl_list.find_all("a"):
19each_page = requests.get(url.get("href"), headers)
20sub_res = BeautifulSoup(each_page.content,"html.parser")
21info = sub_res.find(id="wrapper")
22movie_name = info.select("span[property="v:itemreviewed"]")[].text
23print(movie_name)
24director = info.find(class_="attrs").select("a")[].text
25types =" ".join([style.textforstyleininfo.select("span[property="v:genre"]")])
26ifinfo.find(class_="ll rating_num") is None:
27rate =
28else:
29rate = info.find(class_="ll rating_num").text
30newarry.append({
31"partner": partner.split(" ")[],
32"time": times[5],
33"collect_num": collect_num,
34"movie_name": movie_name,
35"director": director,
36"types": types,
37"rating": rate
38})
39time.sleep(2)
40print(newarry)
41
42new_df = pandas.DataFrame(newarry, columns=["partner","time","collect_num","movie_name","director","types","rating"])
43new_df.to_excel("D:partner.xlsx")
44print(new_df)
数据分析
首先来看看徐峥出演的电影中,评分排前10的电影名,《我不是药神》是徐峥目前评分最高的电影,这成绩完全可以算国产片里的现象级了。
还有极限挑战和向往的生活,徐峥作为临时嘉宾的那期节目也得到了不错的反响。
既然徐峥让观众又是悲伤涌起、又是捧腹大笑,那么看看他出演的作品中不同类型的评分情况,果然还是喜剧排名比较靠前,徐峥出演惊悚悬疑类的电影排名靠后,看来搞笑大叔的深刻印象,不能让大家接受他出演惊悚片。徐峥去的真人秀和脱口秀节目,也在当期取得不错的收视率和口碑。
接下来看看徐峥和哪些导演合作比较紧密?徐峥出演自己自导的电影有4次,山争大哥完全没放过自己当主演的机会,和宁浩导演合作4次,《疯狂的石头》《无人区》《心花路放》《疯狂的赛车》这四部,都是不错的电影,除开合作伙伴的关系,这应该也是徐峥选择出演电影的原因。《我不是药神》也是宁浩监制、文牧野导演。
再来看看合作导演的作品评分情况,图a是评分排名前15的导演名字,图b是评分排名后15的导演名字,徐峥在2002年黄蜀芹导演的《上海沧桑》中并不是主演,排名第二的任静是《极限挑战》的导演,徐峥参加过的当期节目取得了9.0的豆瓣评分,看来他真的很适合参加真人秀。
图 a
图 b
再看看徐峥合作过的演员情况,图c是和徐峥合作过的演员作品平均评分排名前10的演员,图d是作品平均评分排名后10的演员。合作最多的演员是黄渤,一共有9次的合作,《疯狂的石头》《疯狂的赛车》《无人区》《心花路放》《泰囧》等作品都取得了不错的票房和评分,但是《爱情呼叫转移Ⅱ:爱情左右》只有5.2的评分,导致黄渤没有在这前10里,而张艺兴、孙红雷、罗志祥只和徐峥合作过一期《极限挑战》就9.0靠前了,看来平均值有时候真的会掩盖重要的信息。
图 c
图 d
最后再看看徐峥囧系IP电影选角的演员人气情况,将演员豆瓣上被收藏的次数作为人气的测量,对比《港囧》《泰囧》《人在囧途》的演员人气,看来《港囧》的失败确实很大因素归因为选角,人气明显低于《泰囧》。
最后再将陶虹的合作演员表爬取下来,看看夫妻二人在电影圈的社交网络关系,陶虹和徐峥的共同出镜次数还挺多,合作过的电影和演员也不少,不过徐峥的出演次数更多,圈子更大,夫妻二人很和谐的搭配方式。
附上R语言的可视化代码:
1library(dplyr)
2library(plyr)# 这个包里面的count函数才能统计文本的个数
3library(tidyverse)
4library(ggplot2)
5library(readxl)
6library(xlsx)
7library(RColorBrewer)
8
9movie_data
10# 徐峥合作伙伴评分排名前10和后10的演员
11left_data
12attach(left_data)
13ave_rate
14ave_rate$rate
15detach(left_data)
16ave_rate
17col
18pbbPalette
19cbbPalette
20ggplot(data = head(ave_rate,10), aes(x= reorder(Group.1,rate,median),y= rate)) + ylim(,10) + geom_bar(stat="identity",fill=pbbPalette) +
21labs(title ="rating of moives",x="合作演员",y="平均评分")
22ggplot(data = tail(ave_rate,10), aes(x= reorder(Group.1,rate,median),y= rate)) + ylim(,10) + geom_bar(stat="identity",fill=pbbPalette) +
23labs(title ="rating of moives",x="合作演员",y="平均评分")
24
25# 合作的导演的作品评分
26attach(left_data)
27dir_rate
28dir_rate$rate
29detach(left_data)
30dir_rate
31ggplot(data = head(dir_rate,15), aes(x= reorder(Group.1,x,median),y=x)) + ylim(,10) + geom_bar(stat="identity",fill="steelblue") +
32labs(title ="rating of director",x="导演",y="平均评分") +
33theme(axis.text.x = element_text(size =8, family ="myFont", face ="bold", vjust =.5, hjust =.5, angle =45)) +
34geom_text(aes(label = rate, vjust = -.8, hjust =.5), show.legend = TRUE)
35ggplot(data = tail(dir_rate,15), aes(x= reorder(Group.1,x,median),y=x)) + ylim(,10) + geom_bar(stat="identity",fill="steelblue") +
36labs(title ="rating of director",x="导演",y="平均评分") +
37theme(axis.text.x = element_text(size =8, family ="myFont", face ="bold", vjust =.5, hjust =.5, angle =45)) +
38geom_text(aes(label = rate, vjust = -.8, hjust =.5), show.legend = TRUE)
39
40# 合作的导演次数
41attach(left_data)
42dir_time %select(movie_name,director)
43dir_time
44dir_table
45detach(left_data)
46dir_table
47ggplot(data = dir_table[dir_table$freq>=2,], aes(x= reorder(x,freq,median),y= freq)) + geom_bar(stat="identity",fill="steelblue") +
48labs(title ="times of director",x="导演",y="合作次数") +
49theme(axis.text.x = element_text(size =8, family ="myFont", face ="bold", vjust =.5, hjust =.5, angle =45)) +
50geom_text(aes(label = freq, vjust = -.8, hjust =.5), show.legend = TRUE)
51
52# 徐峥评分排名前10的电影名
53attach(left_data)
54top_movie
55detach(left_data)
56rank_moive
57ggplot(data = tail(rank_moive,10), aes(x= reorder(Group.1,x,median),y=x)) + ylim(,10) + geom_bar(stat="identity",fill=pbbPalette) +
58labs(title ="top10 moives",x="电影",y="评分") +
59theme(axis.text.x = element_text(size =8, family ="myFont", face ="bold",vjust =.7, hjust =.7, angle =45))
60
61# 囧字IP电影的演员人气对比
62jiong
63jiong$collection
64cbbPalette
65ggplot(data = jiong, aes(x= movie_name,y= collection)) + geom_boxplot(fill=cbbPalette) +
66labs(title ="collection in the movie of jiong IP",x="演员",y="人气")
67
68# 徐峥电影类型对比
69attach(left_data)
70agg_data %select(movie_name,types,rating)
71agg_data
72View(agg_data)
73detach(left_data)
74li = list("喜剧","真人秀","爱情","剧情","悬疑","脱口秀","犯罪","动作","惊悚","古装","奇幻","动画")
75type = c()
76ave_rating =c()
77for(i in li){
78type_moive
79ave = mean(as.double(type_moive$rating))
80type = c(type, i)
81ave_rating = c(ave_rating, ave)
82}
83type_rating
84pbbPalette
85ggplot(data = type_rating, aes(x= reorder(type,ave_rating,median),y= ave_rating)) + ylim(,10) + geom_bar(stat="identity",fill=pbbPalette) +
86labs(title ="rating of types",x="类型",y="平均评分") +
87theme(axis.text.x = element_text(size =8, family ="myFont", face ="bold", vjust =.5, hjust =.5, angle =45)) +
88geom_text(aes(label = round(ave_rating,1), vjust = -.8, hjust =.5, color ="red"), show.legend = TRUE)
89
90
91library(igraph)
92#载入数据框
93attach(movie_data)
94agg_data %select(par_name,time)
95detach(movie_data)
96agg_data
97nrow(agg_data)
98centre
99graph_data
100write.xlsx(graph_data,"D:\mydata.xlsx")
101all_data
102g
103# 徐峥的关系网络图
104#生成图片,大小是800*800px
105jpeg(filename="D:\GRAPH1.jpg",width=800,height=800,units="px")
106plot(g,
107vertex.size=2,#节点大小
108layout=layout.kamada.kawai,#布局方式
109vertex.shape="none",#不带边框
110vertex.label.cex=1,#节点字体大小
111vertex.label.color="#CC79A7",#节点字体颜色
112edge.arrow.size=.2)#连线的箭头的大小
113#关闭图形设备,将缓冲区中的数据写入文件
114dev.off()
115
116# 徐峥和陶虹的关系网络图
117# install.packages("RcolorBrewer")
118library(RColorBrewer)
119col
120V(g)$label.color
121attach(all_data)
122all_data
123n3 6,])
124n2 =3&time
125n1
126detach(all_data)
127edge_col
128V(g)$size=degree(g)/12
129jpeg(filename="D:\GRAPH2.jpg",width=1000,height=1000,units="px")
130plot(g, layout = layout.fruchterman.reingold,vertex.label.cex=1,edge.color=edge_col,edge.arrow.mode="-")
131dev.off()
声明:本文为作者投稿,版权归对方所有。
相关文章
B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09
科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯2023-02-17 18:46:15
华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比2023-02-17 18:42:49
小米MAX4手机上市日期首发价格 骁龙720打造大屏标准2023-02-17 18:37:22
武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱2023-02-16 15:53:18
谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠2023-02-16 13:34:45
巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注2023-02-13 16:49:06
人手不足 韵达快递客服回应大量包裹派送异常没有收到2023-02-07 15:25:20
资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东2023-02-02 09:24:38
三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办2023-01-24 10:10:02
华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone142023-01-06 20:27:09
芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?2022-12-02 17:25:17
华为暂缓招聘停止社招了吗?官方回应来了2022-11-19 11:53:50
热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全2022-11-16 16:59:09
东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?2022-10-22 15:21:55
苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次2022-10-03 22:13:45
苹果美版iPhone可以在中国保修 从哪看怎么查询iPhone的生产日期?2022-09-22 10:00:07










