当前位置: 首页 > 后端技术 > Python

《寄生虫》横扫奥斯卡,Python告诉你这部电影有什么好看的?

时间:2023-03-25 19:35:12 Python

CDA数据分析师今年第92届奥斯卡出品,可谓大片云集。入围影片不仅艺术性极强,而且市场口碑极佳。其中有黑帮片《爱尔兰人》、经典IP《小妇人》、昆汀的《好莱坞往事》、战争片《1917》、另类超级英雄片《小丑》等,堪称神仙打架。但谁也没想到韩国电影《寄生虫》是最大的赢家。这部由韩国导演奉俊昊自编自导的影片一举斩获奥斯卡最佳影片、最佳导演、最佳原创剧本和最佳国际影片四项大奖,创造历史,成为奥斯卡历史上首部非英语最佳影片。.作为曾经和发明端午节的韩国打过架的一线键盘侠,C君一下子吃了一筐柠檬,好酸。今天我们就来说说韩国的这篮子柠檬,不,是这部电影《寄生虫》。01不一样的奥斯卡正宗的韩国电影说到《寄生虫》横扫今年的奥斯卡,你可能会说我们有李安,他不是也拿过奖吗?要知道,作为奥斯卡的宠儿,李安导演在2001年凭借《卧虎藏龙》获得了奥斯卡外语片奖,并在2006年和2013年分别凭借《断背山》和《少年派的奇幻漂流》获得了最佳导演奖,但是至今尚未获得最佳影片。荣誉。此次,韩国导演奉俊昊凭借《寄生虫》获得四项大奖,直接超越了李安导演的纪录。不管怎么说,李安获得最佳导演的两部影片都属于好莱坞电影,李安甚至应该被归类为好莱坞导演,英语中的盗贼。但另一方面,《寄生虫》是一部扎实的韩国电影。韩国人做韩国的东西,从导演到演员,从主角到配角。爱喝酒的奉俊昊导演连英文都不会(只能请现场翻译帮忙),之前的作品都是韩国本土电影。他自己在上台领奖时说:“我要感谢昆汀把我的电影放在他的观看名单里,让全世界更多人知道我的作品。”韩国本土导演在今年大片大卖的情况下,包揽了奥斯卡最重要的4座小金人,尤其是历史上首次获得最佳外语片和最佳影片,也为韩国首次摘得奥斯卡金像奖。绝对的硬实力。02近几年频频上映的韩国电影回顾这几年,韩国电影就像坑爹一样,年年都有大片。比如警匪片《恶人传》;《燃烧》改编自村上春树的小说;几乎所有揭露残酷社会现实的《熔炉》都口碑爆棚,在严酷的豆瓣上评分都在7.7以上。奉俊昊导演在韩国早已家喻户晓,除了《寄生虫》,他的这些作品也为人熟知。2006年的《汉江怪物》(豆瓣7.4分)是当时韩国少有的科幻电影。自上映以来,连续六年保持韩国票房第一,直到2012年被《盗贼同盟》超越。2013年的《雪国列车》(豆瓣7.4分)影片的故事发生在未来世界被气候变化摧毁,所有生物都挤在环游世界的火车上。该片在韩国上映首日就创下单日最高票房纪录。2003年,《杀人回忆》在豆瓣的评分高达8.8分。是很多影迷必看的电影,也影响了知乎的很多同类电影。同时,本片改编自真实事件华城连环杀人案,上映时引起社会热议。可喜的是,2019年9月,《杀人回忆》的杀手原型也被抓获归案。让我们回到获奖无数的电影《寄生虫》。这部电影有什么好?03《寄生虫》这是什么故事《寄生虫》主要讲述了一家四口住在便宜的半地下室出租屋里,原本都是无业人员。大儿子季宇隐瞒了自己的真实学历,到豪宅里当家教。之后,他千方百计让父亲、母亲和妹妹在这个家庭工作,过着“寄生”的生活……表面上,反映了韩国社会的真实情况,但骨子里,它表现了所有社会都存在的阶级矛盾的主题。从剧本的设定来看,穷人家偷偷溜进富人家寄生在这里,然后发现寄生在篱笆下的还有另一户人家。两个可怜的人为了寄生的权利而殊死搏斗。整个故事从开头的搞笑到结尾的悲剧,矛盾与转折处处充满黑色幽默。即便是韩语的故事,也能让几乎所有观影者理解并产生共鸣。这不是一部电影,而是一部涵盖社会公德和人际关系的文学作品。当我们正在认真地深入分析和撰写影评时,爱喝酒的奉俊昊导演开玩笑说:记者问:“为什么这部电影《寄生虫》能引起这么多观众的共鸣?”奉俊昊回答说:“我听很多人说这部电影是关于贫富和资本主义的,这就是为什么很多人在电影中找到共鸣的原因。当然这是真的,但我认为主要原因是电影一开始,两个年轻人拿着手机到处找wifi,全世界的人不都一样吗?很多观众从一开始就找到了共鸣。你得奖是真的,你说什么都好听。04观众怎么看?我们在豆瓣上爬取了《寄生虫》的影评数据,整个数据分析过程分为三步:获取数据数据预处理数据可视化下面是具体步骤和代码实现:获取数据豆瓣自2017年10月起全面限制抓取数据,非登录状态下最多可获取200条记录,登录状态下最大条数为500条,而这次我们一共获得了521个词条。为了解决登录问题,这次使用Selenium框架发起网页请求,然后使用xpath提取数据。如下图,本次数据爬取的主要内容为:评论用户ID评论用户主页评论内容评论星级评论日期用户城市代码实现:#导入所需包importnumpyasnpimportpandasaspdimporttimeimportrequestsimportrefromlxmlimportetreefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.chrome.optionsimportOptionsdeflogin_douban:'豆瓣网站'''全局浏览器#设置为全局变量浏览器=webdriver.Chrome#进入登录页面login_url='https://accounts.douban.com/passport/login?source=movie'browser.get(login_url)#点击密码登录browser.find_element_by_class_name('account-tab-account').click#输入账号和密码username=browser.find_element_by_id('username')username.send_keys('yourusername')password=browser.find_element_by_id('password')password.send_keys('yourpassword')#点击日志inbrowser.find_element_by_class_name('btn-account').clickdefget_one_page(url):'''功能:传入url,一页豆瓣电影短评信息'''#进入短评页面browser.get(url)#获取网页browser.get(url)#解析网页html=etree.HTML(browser.page_source)#提取用户名user_name=html.xpath('//div/div[2]/h3/span[2]/a/text')#提取用户主页user_url=html.xpath('//div/div[2]/h3/span[2]/a/@href')#提取推荐的starstar=html.xpath('//div/div[2]/h3/span[2]/span[2]/@title')#提取评论时间comment_time=html.xpath('//div/div[2]/h3/span[2]/span[3]/@title')#星级和评论时间bug处理,部分用户不填在推荐的星中star_dealed=foriinrange(len(user_name)):ifre.compile(r'(\d)').match(star[i])isnotNone:star_dealed.append('OK')#在同一索引位置插入时间comment_time.insert(i,star[i])else:star_dealed.append(star[i])#提取短评论信息short_comment=html.xpath('//div/div[2]/p/span/text')#提取票数votes=html.xpath('//div/div[2]/h3/span[1]/span/text')#存储数据df=pd.DataFrame({'user_name':user_name,'user_url':user_url,'star':star_dealed,'comment_time':comment_time,'short_comment':short_comment,'votes':votes})returndfdefget_25_page(movie_id):'''功能:通过输入电影ID获取豆瓣电影25页短评信息(目前可获取的最大页数)'''#创建anemptyDataFramedf_all=pd.DataFrame#循环翻页foriinrange(25):url="https://movie.douban.com/subject/{}/comments?start={}&limit=20&sort=new_score&status=P".format(movie_id,i*20)print('我在抓取页面{}'.format(i+1),end='\r')#调用函数df_one=get_one_page(url)#Loopappenddf_all=df_all.append(df_one,ignore_index=True)#sleepforonesecondtime.sleep(1)returndf_allif__name__=='__main__':#firstRun登录函数login_douban#休眠两秒time.sleep(2)#然后运行循环翻页函数movie_id=27010768#寄生虫df_all=get_25_page(movie_id)爬取的数据以数据框的形式存储,结果如下:从用户主页地址可以获取到用户的城市信息,这一步比较简单,这里的代码省略了数据预处理,对于获取到的数据,我们需要进行如下处理,方便后续分析:推荐星级:换算成1-5分。·评论时间:转为时间类型,提取日期信息·城市:有空缺的城市、海外城市、scribbles和pyecharts不支持的城市,需要处理·短评论信息:分词和提取关键词required代码实现:#Deftransform_star(x):ifx=='highlyrecommended':return5elifx=='recommended':return4elifx=='okay':return3elifx=='poor':return2else:return1#星型转换df_all['star']=df_all.star.map(lambdax:transform_star(x))#处理日期数据df_all['comment_time']=pd.to_datetime(df_all.comment_time)#定义函数-获取短评论信息关键字defget_comment_word(df):'''功能:传入df,提取短评论信息关键字'''importjieba.analyseimportos#设置存储-去重stop_words=set#加载停用词cwd=os.getcwdstop_words_path=cwd+'\\stop_words.txt'withopen(stop_words_path,'r',encoding='utf-8')assw:forlineinsw.readlines:stop_words.add(line.strip)#添加停用词stop_words.add('6.3')stop_words.add('one')stop_words.add('this')stop_words.add('one')stop_words.add('寄生虫')停用词。add('一个家庭')stop_words.add('一个家庭')stop_words.add('电影')stop_words.add('只')stop_words.add('感觉')stop_words.add('完整电影')stop_words.add('expression')stop_words.add('true')stop_words.add('这部电影')stop_words.add('drama')#合并评论信息df_comment_all=df['short_comment'].str.cat#使用TF-IDF算法提取关键词word_num=jieba.analyse.extract_tags(df_comment_all,topK=100,withWeight=True,allowPOS=)#做一个stepFilterword_num_selected=#Filteroutstopwordsforiinword_num:ifi[0]notinstop_words:word_num_selected.append(i)else:pass返回word_num_selectedkey_words=get_comment_word(df_all)key_words=pd.DataFrame(key_words,columns=['words','num'])使用Python进行可视化分析的数据可视化工具有很多。目前pyecharts比较好用,可以实现动态可视化。我们主要对以下几方面的信息进行可视化分析:·评论总分分布·评分时间趋势·城市分布·评论内容总分分布该网站是8.7分,这无疑是很高的。好于97%的喜剧,好于94%的电视剧。从星级来看,5星占比最高,占总数的35.21%,4星及以上占比超过50%,3星及以下占比较小,仅次于超过10%。代码实现:#总分score_perc=df_all.star.value_counts/df_all.star.value_counts.sumscore_perc=np.round(score_perc*100,2)#Importrequiredpackagesfrompyecharts.fakerimportFakerfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportPie,Page#绘制柱形图pie1=Pie(init_opts=opts.InitOpts(width='1350px',height='750px'))pie1.add("",[*zip(score_perc.index,score_perc.values)],radius=["40%","75%"])pie1.set_global_opts(title_opts=opts.TitleOpts(title='总分分布'),legend_opts=opts.LegendOpts(orient="vertical",pos_top="15%",pos_left="2%"),toolbox_opts=opts.ToolboxOpts)pie1.set_series_opts(label_opts=opts.LabelOpts(formatter="{c}%"))pie1.render('总体得分分布.html')得分时间图表评论在2019年8月最受欢迎。也许是网上资源的时候了...代码实现:time=df_all.comment_date.value_countstime.sort_index(inplace=True)frompyecharts.chartsimportLine#drawtimechartline1=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line1.add_xaxis(time.index.tolist)line1.add_yaxis('评论流行度',time.values.tolist,aareastyle_opts=opts.AreaStyleOpts(opacity=0.5),label_opts=opts.LabelOpts(is_show=False))line1.set_global_opts(title_opts=opts.TitleOpts(title="TimeChart"),toolbox_opts=opts.ToolboxOpts,visualmap_opts=opts.VisualMapOpts)line1.render('评论时间图.html')城市审稿人分布接下来分析审稿人的城市分布。从观影评价城市来看,北京占绝大多数,其次是上海。这与微博的统计基本吻合。代码实现:#domesticcitytop10city_top10=df_all.city_dealed.value_counts[:12]city_top10.drop('foreign',inplace=True)city_top10.drop('unknown',inplace=True)frompyecharts.chartsimportBar#barFigurebar1=Bar(init_opts=opts.InitOpts(width='1350px',height='750px'))bar1.add_xaxis(city_top10.index.tolist)bar1.add_yaxis("city",city_top10.values.tolist)bar1.set_global_opts(title_opts=opts.TitleOpts(title="ReviewerTop10城市分布"),toolbox_opts=opts.ToolboxOpts,visualmap_opts=opts.VisualMapOpts)bar1.render('ReviewerTop10城市分布条形图.html')评分词云代码实现:frompyecharts.chartsimportWordCloudfrompyecharts.globalsimportSymbolType,ThemeTypeword=WordCloud(init_opts=opts.InitOpts(width='1350px',height='750px'))word.add("",[*zip(key_words.words,key_words.num)],word_size_range=[20,200],shape='diamond')word.set_global_opts(title_opts=opts.TitleOpts(title="寄生虫影评词云图"),toolbox_opts=opts.ToolboxOpts)word.render('寄生虫影评词云图.html')从影评短片的分词来看,主要侧重于对“奉俊昊”导演的讨论。毕竟在这之前,要是让大家说出韩国导演的名字,大家还是有些摸不着头脑的。他们知道,杀人回忆和寒江妖兽很好看。其次,“穷人”、“富人”、“阶级”等电影故事的核心也??备受关注。这里有一句大家提得最多的台词,发人深省:不是“有钱但好心”,而是“有钱好心”,明白吗?如果我有钱,我也会很善良,超级善良。同时,影片剧情的“反转”、“镜头”等拍摄手法也是观众关注的焦点。很有意思的是,观众在看这部片子的时候,会把它和《燃烧》等韩国电影进行比较。在这里我也推荐大家去看看《燃烧》,也是一部很不错的作品。结论最后,被柠檬酸酸了的我们,还能继续当键盘侠羡慕韩国的电影审查制度。但最根本的是,年轻的键盘侠们真的长大后能不能像他们说的那样带来改变,去拍电影和审查电影。当然,我们也可以向中国足球学习。我们可以入籍韩国导演吗?如果你对Python编程很感兴趣,或者打算提升自己的编程技能,或者想转行做Python相关的职业,可以到我们的CDA页面,浏览相关资料,看看是否符合你的需求.心理需求,点击进入:https://www.cda.cn/?seo您也可以在手机上搜索我们的CDA小程序,随时随地浏览更多行业资讯和优质内容: