点击上方“程序人生”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事

作者

丁彦军

来源

恋习Python

如需转载,请联系原作者授权。

深陷抄袭之名、诉讼纠纷的《爱情公寓》终于上映了。

情怀粉们的力量不容小觑,截止到撰稿,《爱情公寓》票房已经突破3.72亿大关,稳坐票房冠军的宝座,院线排片占比高达40.0%。

和超高票房背道而驰的,是各大社交平台上一边倒的差评。豆瓣万人打分,九成观众果断打了一星,只无奈豆瓣没有零星选项。

不知道有多少像我这样的情怀粉丝们,满怀期待地买了电影票,走进电影院,却发现是交了智商税。

豆瓣短评区里,观众们的状态已经出离愤怒,近乎暴走的状态。有人揭露电影挂羊头卖狗肉,电影内容和《爱情公寓》故事主线毫无关系。是山寨电影、诈骗电影、电影中的拼多多。

为了燃解我心头之恨,恋习Python将会跟你一起用猫眼上万条评论数据来分析,网友对这部电影的反响是否烂到刷新国产片不要脸的下限?

还是老规矩,整体思路将会从数据获取、数据清洗、数据可视化三部曲来进行:

1.数据获取清洗

整体思路与之前获取《邪不压正》评论一样,详情见《邪不压正》评分持续走低,上万条网友评论揭秘,是救救姜文还是救救观众?

具体代码如下:

import requestsimport time import randomimport json

#获取每一页数据def get_one_page(url):

    response = requests.get(url=url)    if response.status_code == 200:        return response.text    return None

#解析每一页数据def parse_one_page(html):

    data = json.loads(html)['cmts']#获取评论内容    for item in data:        yield{        'date':item['time'].split(' ')[0],        'nickname':item['nickName'],        'city':item['cityName'],        'rate':item['score'],        'conment':item['content']        }

#保存到文本文档中def save_to_txt():    for i in range(1,1001):

        print("开始保存第%d页" % i)        url = 'http://m.maoyan.com/mmdb/comments/movie/1175253.json?_v_=yes&offset=' + str(i)

        html = get_one_page(url)        for item in parse_one_page(html):            with open('爱情公寓.txt','a',encoding='utf-8') as f:                f.write(item['date'] + ','+item['nickname'] +','+item['city'] +','                    +str(item['rate']) +',' +item['conment']+'\n')                #time.sleep(random.randint(1,100)/20)                time.sleep(2)

#去重重复的评论内容def delete_repeat(old,new):    oldfile = open(old,'r',encoding='utf-8')    newfile = open(new,'w',encoding='utf-8')    content_list = oldfile.readlines() #获取所有评论数据集    content_alread = [] #存储去重后的评论数据集

    for line in content_list:        if line not in content_alread:            newfile.write(line+'\n')            content_alread.append(line)

if __name__ == '__main__':    save_to_txt()    delete_repeat(r'爱情公寓_old.txt',r'爱情公寓_new.txt')

2.数据分析可视化

我们将用Python的两个模块pddas与pyecharts:

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。(详情请看:http://pyecharts.org/)

Pandas 是基于 NumPy 的一个非常好用的库,正如名字一样,人见人爱。之所以如此,就在于不论是读取、处理数据,用它都非常简单。Pandas 有两种自己独有的基本数据结构。要使用pandas,首先就得熟悉它的两个主要数据结构:Series和DataFrame。其中Series的性质和Python中原生的dict差不多,一个key对应一个vaule,而且key必须是唯一的;DataFrame(以下简称df)的性质则和SQL中的table差不多(详情请看:http://pandas.pydata.org/)。

真可谓电影界的”拼多多“

我们把城市打分情况投射到地图中,可以看出:

在热力图中,白银、绵阳、遵义等三四线城市热度相对高点,也可看出随着人们消费水平的升级,去电影院看电影是娱乐首选。在满足普通人民精神娱乐需求方面,但也不能挂羊头卖狗肉,电影内容和《爱情公寓》故事主线毫无关系。这难道不是电影界的拼多多么?

评分清一色,均为3星级

图为主要城市的评论数量与打分情况:

由图中可看出,各大城市观众打分均为3星级左右,这与猫眼评分6.6基本吻合;打出最高分与最低分分别是哈尔滨与中山。同时也能看出,一二线城市观众对此很失望。

有些人的良心被狗吃了?

看过了评分,我们看一下评论生成的词云图:

由词云图可以看出,爱情公寓、盗墓电影二词显目在列,整部电影就30秒和《爱情公寓》有关,所谓的集齐原班人马回归也只是个幌子,《爱情公寓》大电影完全是一部盗墓笔记,真正毁了《爱情公寓》这个ip,也毁了《盗墓笔记》这个ip。

但即便是在这样观众一致认为彻底失望的情况之下,依然有一波忠实的『粉丝们』坚守阵地。他们的手中依然紧握着情怀牌,打分也是一水的五星。

对于这些水军以及说《爱情公寓》好看的人,大家可以绝交了;作为观众,任何的关注都是助长《爱情公寓》的嚣张气焰,我们也有责任自发抵制烂片,决不让诈骗电影多赚一分钱。

以上信息具体代码为:

from wordcloud import WordCloud,STOPWORDSimport pandas as pd import jiebaimport matplotlib.pyplot as plt #import seaborn as snsfrom pyecharts import Geo,Style,Line,Bar,Overlap

f = open('爱情公寓_new.txt',encoding='utf-8')data = pd.read_csv(f,sep=',',header=None,encoding='utf-8',names=['date','nickname','city','rate','comment'])

city = data.groupby(['city'])rate_group = city['rate']city_com = city['rate'].agg(['mean','count'])#print(city_com)city_com.reset_index(inplace=True)city_com['mean'] = round(city_com['mean'],2)

#热力图分析data_map = [(city_com['city'][i],city_com['count'][i]) for i in range(0,city_com.shape[0])]#print(data_map)style = Style(title_color="#fff",title_pos = "center",            width = 1200,height = 600,background_color = "#404a59")

geo = Geo("《爱情公墓》粉丝人群地理位置","数据来源:恋习Python",**style.init_style)

while True:    try:        attr,val = geo.cast(data_map)        geo.add("",attr,val,visual_range=[0,20],                visual_text_color="#fff",symbol_size=20,                is_visualmap=True,is_piecewise=True,                 visual_split_number=4)    except ValueError as e:        e = str(e)        e = e.split("No coordinate is specified for ")[1]#获取不支持的城市名        for i in range(0,len(data_map)):            if e in data_map[i]:                data_map.pop[i]                break

    else:        breakgeo.render('爱情公墓.html')

#折线+柱图分析city_main = city_com.sort_values('count',ascending=False)[0:20]#print(city_main)attr = city_main['city']v1 = city_main['count']v2 = city_main['mean']#print(attr,v1,v2)line = Line("主要城市评分")line.add("城市",attr,v2,is_stack=True,xaxis_rotate=30,yaxix_min=4.2,    mark_point=['min','max'],xaxis_interval=0,line_color='lightblue',    line_width=4,mark_point_textcolor='black',mark_point_color='lightblue',    is_splitline_show=False)

bar = Bar("主要城市评论数")bar.add("城市",attr,v1,is_stack=True,xaxis_rotate=30,yaxix_min=4.2,    xaxis_interval=0,is_splitline_show=False)

overlap = Overlap()overlap.add(bar)overlap.add(line,yaxis_index=1,is_add_yaxis=True)overlap.render('主要城市评论数_平均分.html')

#词云分析#分词comment = jieba.cut(str(data['comment']),cut_all=False)wl_space_split = " ".join(comment)

#导入背景图backgroud_Image = plt.imread('lan.jpg') stopwords = STOPWORDS.copy()#print("STOPWORDS.copy()",help(STOPWORDS.copy()))

wc = WordCloud(width=1024,height=768,background_color='white',    mask=backgroud_Image,font_path="C:\simhei.ttf",    stopwords=stopwords,max_font_size=400,    random_state=50)

wc.generate_from_text(wl_space_split)plt.imshow(wc)plt.axis('off')#不显示坐标轴  plt.show()wc.to_file(r'laji.jpg')

最后,作为《爱情公寓》之前的铁粉,只想评价一个字:

烂在哪里?并不是烂在盗墓剧情,也不烂在演员特效。烂在它消费粉丝热情和爱戴,玩弄观众。

2.4分我想更多是对韦正和汪远的评价。为了赚钱,上映前吹嘘夸大,不设点映;为了赚钱,宣传片预告片MV大量回忆杀,关谷展博无限出镜;为了赚钱,藏着掖着不见光不露脸,以9.9分的保票“催”着粉丝买预售票。上映第一天3亿。赚的盆满钵满。

反过来看观众,哭着脸走出影院的,多数是被结尾彩蛋感动,彩蛋才真正传达了“爱情公寓精神”。主演们对着镜头的自白,说出了我们最想听到的几段话,才真正唤起了我们脑海里对爱情公寓的美好回忆。

电影结尾的彩蛋,小姨妈呼唤关谷的那一段,算是爱情公寓最感人的地方了吧。

但是,一个彩蛋真的配3亿票房吗?

用近乎做作的犹抱琵琶半遮面的营销手段,让大家对它憧憬,希望它能给我们的记忆画上一个圆满的句号,可却用一部近乎玩笑的垃圾影片嘲笑我们对它的喜爱。

打着情怀的旗号,将一个个剧版粉丝骗进电影院,将电影票钱装进自己的腰包。

这就是它最烂的地方。

- The End -

「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost

小七 丨 duoshangshuang

上期精彩内容

《爱情公寓》电影,让我十年的情怀,一瞬间都喂了狗相关推荐

  1. Python 分析《爱情公寓》电影,让我十年情怀一瞬间都喂了狗

    IT派助力深广创业,免费代发招聘信息,了解一下? 深陷抄袭之名.诉讼纠纷的<爱情公寓>终于上映了. 情怀粉们的力量不容小觑,截止到撰稿,<爱情公寓>票房已经突破 3.72 亿大 ...

  2. 玩了十年的射击游戏都是有情怀的,大家都是热爱CFHD的一代

    首先,某种程度上来讲,其实CFHD这个游戏因为英雄级武器带来的不平衡慢慢消失了.经常玩的肝帝,肯氪金的氪老,枪的话英雄级和性能一样的源武器都有了好多,刀各种好用的刀,斩神刀,鹰爪,唐刀,扇子什么的都送 ...

  3. python3爬虫教学:爱情公寓电影评论

    戳我爱情公寓电影评论地址 爱情公寓电影好不好,评论告诉你.今天我们来用python爬虫获取豆瓣网上爱情公寓的评论. 首先我们分析一下评论的URL规则 https://movie.douban.com/ ...

  4. python爬取爱情公寓电影评论并制作词云

    python爬取爱情公寓电影评论并制作词云 前言:     一直想研究研究如何生成词云,今天抽点时间给大家分享一下制作词云的过程,本文重在研究词云如何制作,由于时间仓促,至于爬取的数据量不大,大家可自 ...

  5. 电脑维修的十大原则,你都认同吗?

    今天小编给大家介绍一下电脑维修的十大原则,你都赞同吗? 1.永远不要自认为是电脑高手,也不要让对方说你是电脑高手.当他们称赞你的时候,你要说,我尽力而为,但不能保证让一定修好.不然高手也喊了,电脑也没 ...

  6. 方舟服务器在线人数查询软件,时隔4年,方舟生存进化稳居Steam在线人数前十,让他游戏都嫉妒?...

    原标题:时隔4年,方舟生存进化稳居Steam在线人数前十,让他游戏都嫉妒? Steam平台可谓是游戏的"封神榜",一款游戏只要挤进Steam平台的榜单,那就是万人追捧的热门大作.并 ...

  7. 中国十大技术社区你都知道哪些

    原 中国十大技术社区你都知道哪些? 社区是聚集一类具有相同爱好或者相同行业的群体,IT技术社区就是聚集了IT行业内的技术人,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友, ...

  8. 十二生肖被戏称为“十二缺”,指的是这十二种动物各自都缺少一样东西

    十二生肖被戏称为"十二缺",指的是这十二种动物各自都缺少一样东西 那么这些生肖动物都各自缺少什么呢?你知道你的属相缺少的是什么东西吗?下面就一起来看看吧! [鼠无脑] 所谓兽无完兽 ...

  9. python爬虫-爬取爱情公寓电影(2018)豆瓣短评并数据分析

    说起这部电影,我本人并没有看,其实原先是想为了情怀看一下,但是好友用亲身经历告诉我看来会后悔的,又去看了看豆瓣评分,史无前例的,,,低. 出于兴趣就爬取一下这部电影在豆瓣上的短评,并且用词云分析一下. ...

最新文章

  1. 特朗普推文的文本分析
  2. 利刃 MVVMLight 8:DispatchHelper在多线程和调度中的使用
  3. ajax从页面向action传递json 公司--》
  4. Web开发(一)·期末不挂之第二章·HTML基础一(考试必考冷知识)
  5. SENet双塔模型:在推荐领域召回粗排的应用及其它
  6. 【采用】知识图谱简介及风控应用场景
  7. thinkphp 5数据库操作
  8. python如何和qt交互_Python 之Pyqt5操作交互处理,原来这么简单!
  9. JAVA常见业务参加解决方案_大话业务场景与解决方案-做任务
  10. @程序员,如何在五分钟内构建个人网盘服务?| 技术头条
  11. 【Django 2021年最新版教程27】数据库model 查询2个日期范围内的所有日期
  12. 软件开发文档编写规范
  13. CONFIG_ARM64_MODULE_PLTS 的作用
  14. 基于javaweb+jsp的小蜜蜂扩音器网上商城系统(java+JSP+Servlet+JDBC+Ajax+mysql)
  15. 易创索讯:SEM竞价推广建立账户麻烦吗?
  16. 加号和字符串拼接符号
  17. 单点故障的解决方案:高性能集群
  18. Windows技巧:右键文件打开方式,该文件没有与之关联来执行该操作
  19. 项目启动成功,但是Eureka页面不显示
  20. 常用的Linux终端命令盘点

热门文章

  1. 【王道考研】操作系统 笔记 第一章
  2. 转运RNA(tRNA)甲基化修饰7-甲基胞嘧啶(m7C)|tRNA-m7G
  3. 【AlexNet】ImageNet Classification with Deep Convolutional Neural Networks
  4. 中国电信无线网服务器,如何使用路由器共享电信天翼无线网络?
  5. mt4服务器显示无连接,MT4登录显示“无效账户”,“无法连接”怎么解决
  6. ios appstore 审核 Guideline 5.2.2 资讯类APP解决方案
  7. c语言什么意思 app 视频 新闻,开发新闻资讯APP需要哪些功能?
  8. 零钱兑换(完全背包)
  9. Android RecyclerView万能分割线
  10. 在python中正确的赋值语句为3y=x+1-在 Python 中,正确的赋值语句为 ( ) 。_学小易找答案...