本文作者用 Python 分析猫眼数据告诉你,当周星驰携《新喜剧之王》归来,黄渤沈腾强强联合《疯狂的外星人》、有《啥是佩奇》刷屏在前的《小猪佩奇过大年》、以及被誉为“中国第一部科幻大片”的《流浪地球》等数部大片齐聚大年初一时,平日里写代码好不容易阖家团圆的我们究竟该选择哪部电影?

作者 | 罗昭成

责编 | 唐小引

出品 | CSDN(ID:CSDNnews)

1、引言

2019 年 1 月,《啥是佩奇》短片在互联网快速传播,各大社交平台形成刷屏之势。不到 24 小时,官博发出的视频已经收获 2800 万次观看,14 万次点赞,17 万次转发。

作为《小猪佩奇过大年》先导片,片中内容不仅引人深思,也把我们的视线拉了到春节档电影。在外工作一年,难得的几天闲暇时间,回到家里,陪陪父母,看看孩子。可以和父母一起去看看电影,重温一家人的温暖。

扎堆上映的一大波影片让我们眼花缭乱,在众多电影中,我们应该选择哪一步电影来看呢?下面,我们用数据来分析分析,看看其他人都在看啥电影,让我们从选择恐惧症中解放出来。

2、猫眼预售票房数据分析

和之前文章不同,本次爬取的电影都还没有上映,所以笔者将侧重点从评论数据,转移到了其他地方,来进行我们想要的数据分析。

首先我们先来看看,春节档的票房数据,打开猫眼专业版实时票房,我们可以看到某一天的票房数据。

图注:此图截于大年三十晚,可以看到《飞驰人生》在大幅上升,已经赶超《流浪地球》

虽然能看到,但是要进行分析,还是不太方便,所以先把数据都抓取下来:

作者注:抓取分析数据截止时间为 2019-02-03 18:38:49,并非最新数据,可能存在误差。

使用 Chrome 的调试模式,在网络请求中可以看到获取实时数据的网络请求:

https://box.maoyan.com/promovie/api/box/second.json?beginDate=20190205

拿到接口,就可以很简单地将数据拿下来,并存储起来。

  • 发送网络请求

Python 的 Request 库可以很方便地发送网络请求,代码如下:

def requestData(url, params):session = requests.Session()headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X)","Accept": "application/json","Connection": "keep-alive","Accept-Language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,zh-TW;q=0.6","Accept-Encoding": "gzip, deflate"}response = session.get(url, params=params, headers=headers)if response.status_code == 200:return response.textreturn None

给定一个 URL 地址,和上行的参数,调用此方法,就可以模拟浏览器将数据拿回来。

  • 存储数据到数据库中

Python 中还有一个 JSON 库,可以方便地解析 JSON。本文中,也是使用的它来进行的数据解析。因为数据抓取了很多天的预售票房数据,所以在存储的时候,使用 movieId 和 date 组合为每一条数据的唯一 ID。为方便后面处理数据,减少网络请求,所以将所有的原始数据保存起来。代码如下:

def saveItem(date, jsonStr): dic = json.loads(jsonStr)["data"]boxUnit = dic["totalBoxUnitInfo"]dataList = dic["list"]for item in dataList:movieId = item["movieId"]if item["releaseInfo"] == u"上映首日" or item["releaseInfo"] == u"上映2天" or item["releaseInfo"] == u"上映3天" :insertPiaofangMovieInfo(str(movieId) + "_" + date, date, movieId, item["movieName"], item["boxRate"],item["boxInfo"],boxUnit ,item["showRate"],item["showInfo"],item["avgSeatView"],item["avgShowView"])

在猫眼实时票房中,我们可以看到《疯狂的外星人》票房最高。但并不太能直观的感受到和其它几部电影的差距,可视化展示数据能够更加友好,这里使用了 pyechats 来进行数据渲染。看图说话:

在图中可以看到《疯狂的外星人》的票房要选高于其他电影,而截止 2 月 3 日晚,《流浪地球》与《飞驰人生》的票房相当(编者注:随后在除夕夜《飞驰人生》赶超)。前段时间刷屏的《小猪佩奇过大年》的票房数据落底,实在有点令人吃惊,看这个数据,佩奇再红,还是干不过熊大熊二。

图片来源:movie.douban.com

为了更好地给大家作参考,笔者还抓取了春节档电影的“想看”数据。

接口:http://m.maoyan.com/ajax/detailmovie?movieId=movieId

拿到这些数据,绘制了一个折线图:

综上我们可以看到,无论是实实在在的预售票房,还是众口热议的口碑上,《疯狂的外星人》都是实质名归的赢家,笔者也建议有时间的朋友去看看。

另一方面,周星驰的《新喜剧之王》的想看量在 319844,位于春节档的第三位。首日的数据票房却只有不到 6000W,难道是朋友们都还在上班,我们欠星爷的电影票还要继续欠着?

图片来源:movie.douban.com

3、史上最强春节档的评分对比

分析完上面的票房与观众想看的数据过后,猫眼中还有关于春节档节目的短评数据,用户也给了相应的评分。凭借对导演与演员的信任度,给出了相应的评分。

先将评论数据抓取到本地存储。

接口: http://m.maoyan.com/review/v2/comments.json

代码如下:

def saveComment(movieId, comment):conn = sqlite3.connect('spring_festival.db')conn.text_factory = strcursor = conn.cursor()ins = "insert into comments(id, movieId, content, gender, nick, score, original) values (?,?,?,?,?,?,?)"v = (comment["id"], movieId,comment["content"], comment["gender"], comment["nick"], comment["score"], json.dumps(comment))cursor.execute(ins, v)cursor.close()conn.commit()conn.close()

评分图如下:

从上图我们可以明显地看出,春节档之中,观众朋友对《新喜剧之王》、《流浪地球》、《飞驰人生》、《廉政风云》、《熊出没-原始时代》明显有超高预期,而如《神探蒲松龄》、《小猪佩奇过大年》,观众对其预期明显比其他电影要低。很难想象,前不久的《啥是佩奇》掀起全民佩奇热,尤其今年还是佩奇年的时候,这股热潮并没有直接反应到佩奇的年度大戏中,而今年春节档唯一一部古装戏,且有成龙大哥坐镇的《神探蒲松龄》也并没有打动观众。

4、评论词云


最后,我们再以词云来综合看一下以上所有电影的评论关键词,除却“期待”之外,可以显著地看到“沈腾”、“黄渤”、“流浪地球”,这人心所向一定程度上是极大的认可,只不过比较让人疑惑的是,为什么风评不错的《流浪地球》,甚至一度有其(流浪地球)的出现“开启了中国科幻电影‘元年’,可以称得上是春节自救指南,带你流浪人生”这样非常高的赞誉之声,但为什么这一切没有直接体现在票房上?此外,对于春节而言,所求无非是阖家欢乐,无论看什么,最重要的,还是一起看的人。

谨以此文,祝所有程序员朋友新春大吉,阖家欢乐,幸福团圆!

佩奇扑街、外星人疯狂!Python 告诉你大年初一应该看哪部电影?相关推荐

  1. 佩奇扑街、外星人疯狂!Python 告诉你大年初二应该看哪部电影

    作者 | 罗昭成 责编 | 唐小引 转载自 CSDN资讯(ID:CSDNnews) 引言 2019 年 1 月,<啥是佩奇>短片在互联网快速传播,各大社交平台形成刷屏之势.不到 24 小时 ...

  2. python爬取豆瓣排名前250部电影封面

    话不多说,先给出网页地址豆瓣电影 Top 250,进入后我们按F12打开开发者工具查看网页信息,然后随便右键点击一张电影封面查看元素如图: 容易看出我们所需要的封面地址在img这个标签下的src属性当 ...

  3. 啥是佩奇?Python告诉你

    作者 | 丁彦君 来源 | 恋习Python 昨天, 被<啥是佩奇>这支广告片刷屏了. 佩奇明明是个喜剧角色, 却看哭了所有人. ▼ <啥是佩奇>??? 快过年了 在农村爷爷给 ...

  4. python中circle是什么意思_啥是佩奇,让 Python 告诉你!

    原标题:啥是佩奇,让 Python 告诉你! 本文转载自公众号 恋习Python 刚刚, 被<啥是佩奇>这支广告片刷屏了. 佩奇明明是个喜剧角色, 却看哭了所有人. ▼ <啥是佩奇& ...

  5. 《囧妈》口碑扑街?Python告诉你观众这次为何不买账了

    ▼ 更多精彩推荐,请关注我们 ▼  CDA数据分析师 出品   编辑:Mika    视频主播:曹鑫 数据:王真达  后期:杨泽龙 设计:陈一凡  参与:王海龙 本文由CDA数据分析师(ID: cda ...

  6. python视频口碑佳_从万众期待到口碑扑街!用Python来分析一下大家对唐探3的评论...

    原标题:从万众期待到口碑扑街!用Python来分析一下大家对唐探3的评论 来源 |菜鸟学Python 作者 |菜鸟哥 唐人街探案系列题材,凭借着演员出色的表演,以及精彩的探案故事,近些年来成为了一部很 ...

  7. Python告诉你:为何年终奖多发一元,到手却少两千多?

    作者 | shenzhongqiang 来源 | Python数据与分析(ID:ML_Python) 年终奖多发一元,到手却要少两千多,甚至更多.听到这个消息的时候,大家是不是觉得有点意外,意外之余还 ...

  8. 11月30日云栖精选夜读 | 用Python告诉你,现在的房租有多高?

    杭州房租:钱塘两岸最高,奥体单间达4830元/月.不少人感叹:躲过了高房价,躲不过高房租,面对房租上涨,感觉身体被掏空.2018年的这个夏天,房租正在成为摧垮年轻人的"第一根稻草" ...

  9. python哪本好-在众多小说中,Python告诉你哪本小说好看

    Python Python开发 Python语言 在众多小说中,Python告诉你哪本小说好看 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及 ...

最新文章

  1. fushioncharts破解
  2. nginx lua连接mysql_OpenResty的安装和在nginx中使用lua直接访问mysql达到数据接口的统一...
  3. Linxu嵌入式汇编语言
  4. 【Redis】杂项基础知识;Redis数据类型
  5. python对图片颜色校正_使用Python PIL更改图像色调
  6. 关于css3的:target伪类选择器
  7. c#读取进程列表判断程序是否已经启动(转)
  8. Linux 入侵排查
  9. cpu发热测试软件,如何检测CPU的温度?这些软件少不了
  10. asterisk cdr mysql_asterisk cdr写入mysql为空的解决办法
  11. 越南edu学生校园校友邮箱申请UNIDAYS学生认证登录Apple music原创教程
  12. 解决adobe reader XI 打开后闪退问题,亲测有效
  13. ipad协议8.34最新版本
  14. altera/xlinx pcie dma应用
  15. 爬虫学习进阶:获取百度指数历史数据!准备好小本本了吗?
  16. 技术宅男揭秘:北京机动车摇号真的公平?
  17. 极部落TrueChain公链训练营_长沙站[湘链技术社区]
  18. python nodejs开发web_用nodejs和python实现一个爬虫来爬网站(智联招聘)的信息
  19. matlab 自定义直方图匹配_matlab中直方图规定化(直方图匹配)的单映射 – MATLAB中文论坛...
  20. html5 canvas手写画板 下载图片至本地

热门文章

  1. leetcode python3 简单题100. Same Tree
  2. 【机器学习】Andrew Ng——前言
  3. 剑指Offer值字符串的排列
  4. 中国碳酸锰(CAS+598-62-9)市场趋势报告、技术动态创新及市场预测
  5. java正则匹配下划线_java验证,”支持6-20个字母、数字、下划线或减号,以字母开头“这个的正则表达式怎么写?...
  6. 做游戏,学编程(C语言) 11 2048
  7. 前端性能优化的七大手段
  8. Vue+Webpack使用规范
  9. SQL注入学习part04:(结合sqli-libs学习:31-40关)
  10. 云原生是趋势吗?学习 K8s 和 Docker 的意义在哪里?