Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >从数据角度探究《前任3》为什么这么火爆

从数据角度探究《前任3》为什么这么火爆

作者头像
Python攻城狮
发布于 2018-08-23 04:14:26
发布于 2018-08-23 04:14:26
40700
代码可运行
举报
文章被收录于专栏:Python攻城狮Python攻城狮
运行总次数:0
代码可运行

1.《前任3》为什么这么火爆

截止发文时《前任3》票房15.50亿,成为一匹黑马,我习惯性的去豆瓣看了评分

豆瓣上8万多人只打出了5.8的评分,其中1星-3星占比72.6%,那么问题来了,在绝大多数豆瓣粉丝都认为是“烂片”的情况下,究竟是什么让《前任3》票房意外火爆呢?

为了更能说明问题,通过一些舆情监测软件,我参考了一些社交圈的一些数据

  • 搜索微信公众号前任3相关的文章,我们可以看到相关结果2w多,总阅读数6006w+
  • 我查看了点赞数最多的,竟然是蕊希的推文 <前任3>:谢谢和你爱过,也不遗憾最终错过。点赞数22956 阅读量10w+,这里为什么用竟然,是因为我也是蕊希忠实的听众啊,多少个成长的夜晚,是这个电台陪我入睡,多少个... 跑题了跑题了,此处省略一万字

点进去仔细看了一遍,这篇文章主要还是以一些经典的情感语录和分手的撕心裂肺来引起读者的共鸣或者是往事,蕊希的文章总是写的很成功,因为她知道什么样的内容可以打动读者的内心情感,看评论就知道了

所以前任三之所以火爆的原因也许是因为:分手?毕竟“分手”是感情世界里永不褪色的话题,也是最能触发观影者内心情感的话题,不过这只是我们的猜测。

作为一名程序员,我们当然不能只靠这些来说话,数据是最有说服力的,于是我爬取了一下豆瓣的影评。

2.采集豆瓣影评

有朋友私我说之前没怎么写过使用框架采集数据的教程,回过头想了想好像是很少使用框架去爬虫了,最早的一篇还是Python网络爬虫(六)- Scrapy框架戳我复习,发现突然让自己用Scrapy还的确忘记从哪开始了,于是对着电脑开始发呆,大概度过了十分钟的贤者时间一下子重新掌握了Scrapy的整体思路,(明明复习了一两个小时)。

戳我学习Scrapy

流程如下:

  • 创建一个Scrapy项目;
  • 定义提取的Item;
  • 编写爬取网站的 spider 并提取 Item;
  • 编写 Item Pipeline 来存储提取到的Item(即数据)。
  • 提取数据库数据,处理展示
  • 创建项目,终端输入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建项目
scrapy startproject douban_qrs

# 进入项目目录
cd douban_qrs
# 创建爬虫文件
scrapy genspider douban https://movie.douban.com
  • 项目结构(不包括后续配置)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
|-- douban_qrs/                        # 项目文件夹
    |-- scrapy.cfg                     # 项目发布配置
    |-- spiders/                       # 项目模块存储了实际的爬虫代码
        |-- __init__.py                # 模块描述文件
        |-- items.py                   # 定义了待抓取域的模型
        |-- pipelines.py               # 项目pipelines定义文件
        |-- settings.py                # 项目全局配置,定义了一些设置,如用户代理、爬取延时等。
        |-- spiders/                   # 爬虫模块<开发>
            |-- __init__.py            # 模块描述文件
            |-- douban.py              # 爬虫代码

难题:scrapy实现模拟登录

这里我又重新去翻了一遍文档,发现文档中是有描述的

参考文档

  • scrapy中cookies的写法,可以与request中cookie的写法对比下

这里我用了两种方法解决这个问题,第一个是加cookie,效果不太理想,我换了第二种采用登录的方式。

  • 由于在登录过程中可能需要输入验证码,目前采用把验证码图片保存至本地手动输入 (借助一些打码平台可以实现自动识别验证码输入,收费)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    def logged_in(self, response):
        img_code = response.xpath("//img[@id='captcha_image']/@src").extract()
        if len(img_code) > 0:
            print("请输入验证码登录")
            localpath = "/home/xsl/imgcode.jpg"
            # 将图片下载到本地
            urllib.request.urlretrieve(img_code[0], filename=localpath)
            print("请查看本地验证码图片并输入验证码")
            img_code_value = input()
            data = {
                "form_email": "你的账号",
                "form_password": "您的密码",
                "captcha-solution": str(img_code_value),
            }

        else:
            print("此时没有验证码")
            data = {
                "form_email": "你的账号",
                "form_password": "您的密码",
            }
        print("登录中.(ง •̀_•́)ง")
        return [scrapy.FormRequest('https://www.douban.com/login',
                                   formdata=data,
                                   callback=self.movie)]

3.词云和分布图展示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def word_cloud(comment):
    logger.info('制作词云图...word_cloud')
    comment_text = ''
    back_coloring = imread("static/zzb.jpg")
    cloud = WordCloud(font_path='static/simhei.ttf',  # 若是有中文的话,这句代码必须添加,不然会出现方框,不出现汉字
                      background_color="white",  # 背景颜色
                      max_words=2000,  # 词云显示的最大词数
                      mask=back_coloring,  # 设置背景图片
                      max_font_size=100,  # 字体最大值
                      random_state=42,
                      width=360, height=591, margin=2,  # 设置图片默认的大小,但是如果使用背景图片的话,那么保存的图片大小将会按照其大小保存,margin为词语边缘距离
                      )
    for li in comment:
        comment_text += ' '.join(jieba.cut(li, cut_all=False))
    wc = cloud.generate(comment_text)
    image_colors = ImageColorGenerator(back_coloring)
    plt.figure("wordc")
    plt.imshow(wc.recolor(color_func=image_colors))
    wc.to_file('前任三词云图.png')


def snowlp_analysis(comment):
    logger.info('自然语言处理NLP...snow_analysis')
    sentimentslist = []
    for li in comment:
        s = SnowNLP(li)
        # logger.debug(li)
        # logger.debug(li, s.sentiments)
        print(li, s.sentiments)
        sentimentslist.append(s.sentiments)
    fig1 = plt.figure("sentiment")
    plt.hist(sentimentslist, bins=np.arange(0, 1, 0.02))
    plt.show()

本来是想用至尊宝做一个词云图的,找了好久没找到素材,就用了之前我的一张壁纸

话说,词云图好像并不能看出什么~而分布图表达的结果也并不直观,那就代表本次的结果没有什么卵用,个人觉得是因为数据量太小了,而且词云图本身对数据展示的结果只能看出高频词而已...我就不分析什么了(我真的尽力了(ง •̀_•́)ง)

我也想像其他大佬一样机器学习数据分析

源码已上传Github

时光无法回头,人生也不能重来,珍惜眼前人。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说
这次是用python登录并爬取豆瓣短评,并做词云分布,分别用到requests、xpath、lxml、jieba、wordcloud等python库。
Python进阶者
2019/09/24
5580
哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说
Python采集微博热评进行情感分析祝你狗年脱单
如果自己需要爬(cai)虫(ji)的数据量比较大,为了防止被网站封Ip,可以分时段爬取,另外对于爬到的数据一般是用来存储数据库,这就需要对数据进行去重处理,记录上次爬取的状态,就可以实现在爬虫中断后,可以快速继续上次的状态,实现增量爬取,这里可以参考我之前写过的一个新闻采集,增量采集新闻数据,本文写的对新浪微博的数据采集和处理完整代码在我的Github。 玩微博的人大多数应该知道微博搞笑排行榜的,刚好写这篇文之前看到榜姐1月8号0点话题是一人说一个,追女孩的小道理,感觉这个话题简直是对广大单身男性的福利啊,ヾ(✿゚゚)ノ,故有了何不就采集一下评论来分析一波的想法。
Python攻城狮
2018/08/23
6980
Python采集微博热评进行情感分析祝你狗年脱单
爬来爬去(一):《蚁人2》豆瓣影评爬虫+简单情感分析+词云
今天是《蚁人2》国内上映的第19天,作为练手,打算把豆瓣上的短评爬下来作为分析的素材。
量化小白
2019/08/29
1.1K0
爬来爬去(一):《蚁人2》豆瓣影评爬虫+简单情感分析+词云
《小美好》短评文本情感分析+生成词云
因为最近看了一下《致我们单纯的小美好》,虽然情节是有点“二”吧,但是看了觉得真的很怀念初高中的日子,一时玩心大发,于是就想搞点有意思的东西。。。首先去爬了豆瓣上面的短评,然后就是用SnowNLP做了一
机器学习AI算法工程
2018/03/15
1.2K0
《小美好》短评文本情感分析+生成词云
手把手教你用itchat统计好友信息,了解一下?
初学Python的时候,就写过一篇利用Python的第三方库进行好友头像拼接,itchat itchat库初探--微信好友全头像的拼接,最近又研究了下itchat和matplotlib,目前实现了对微信好友头像、性别、区域、个性签名的采集及展示。
Python攻城狮
2019/03/22
5870
手把手教你用itchat统计好友信息,了解一下?
【Python3爬虫】你会怎么评价复仇者
最近复仇者联盟4正在热映中,很多人都去电影院观看了电影,那么对于这部电影,看过的人都是怎么评价的呢?这时候爬虫就可以派上用场了!
py3study
2020/01/16
4810
Python网络爬虫之模拟登陆
Python网络爬虫应用十分广泛,但是有些网页需要用户登陆后才能获取到信息,所以我们的爬虫需要模拟用户的登陆行为,在登陆以后保存登陆信息,以便浏览该页面下的其他页面。
刀刀老高
2019/03/06
5810
Python网络爬虫之模拟登陆
14、web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码
from urllib import request #导入request模块
天降攻城狮
2019/07/11
1.3K0
用Python对鹿晗、关晓彤微博进行情感分析
專 欄 ❈大吉大利小米酱,Python中文社区专栏作者,Python爱好者,顽强地自学中,18线灵魂画手/段子手/脑洞女王。 简书: http://www.jianshu.com/u/8e45f2f3b6c1 知乎: https://www.zhihu.com/people/otakurice ❈ 前言:本文主要涉及知识点包括新浪微博爬虫、python对数据库的简单读写、简单的列表数据去重、简单的自然语言处理(snowNLP模块、机器学习)。适合有一定编程基础,并对python有所了解的盆友阅读。 相
Python中文社区
2018/02/01
1.4K0
用Python对鹿晗、关晓彤微博进行情感分析
用Python爬取了《扫黑风暴》数据,并将其可视化分析后,终于知道它为什么这么火了~
本期是对腾讯热播剧——扫黑风暴的一次爬虫与数据分析,耗时两个小时,总爬取条数3W条评论,总体来说比较普通,值得注意的一点是评论的情绪文本分析处理,这是第一次接触的知识。
用户8949263
2022/04/08
5390
用Python爬取了《扫黑风暴》数据,并将其可视化分析后,终于知道它为什么这么火了~
利用selenium爬取《西虹市首富影评》
'https://movie.douban.com/subject/27605698/comments?status=P' 使用工具:python+selenium 首先,很简单的,我们得使用sele
我被狗咬了
2019/09/23
7380
利用selenium爬取《西虹市首富影评》
用Python爬取了《雪中悍刀行》数据,并将其可视化分析后,终于知道它为什么这么火了~
本期是对腾讯热播剧——雪中悍刀行的一次爬虫与数据分析,耗时一个小时,总爬取条数1W条评论,很适合新人练手,值得注意的一点是评论的情绪文本分析处理,这是第一次接触的知识。
陈晨135
2022/01/04
6860
用Python爬取了《雪中悍刀行》数据,并将其可视化分析后,终于知道它为什么这么火了~
python scrapy 爬虫实例_scrapy爬虫完整实例
本文主要通过实例介绍了scrapy框架的使用,分享了两个例子,爬豆瓣文本例程 douban 和图片例程 douban_imgs ,具体如下。
全栈程序员站长
2022/09/13
4430
Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇
前言 并不是所有的网站都能够敞开心扉让你看个透彻,它们总要给你出些难题让你觉得有些东西是来之不易的,往往,这也更加激发你的激情和斗志! 从《为了媳妇的一张号,我与百度医生杠上了》里就有网友提出可以通过获取cookie的方式来登录,不需要借助selenium这样的模拟浏览器操作了,到后来在公众号里一号友说豆瓣如何实现登录,以及近期园友都有提到想获取更多的网站数据是需要登录的……登录,一直是爬虫界躲不了也绕不开的话题。 之前已经试过通过启动浏览器,模拟人工操作填写用户名和密码并点击登录来完成登录。 这次准备
JackieZheng
2018/01/16
1.4K0
Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇
潘粤明的《龙岭迷窟》到底怎么样?我用 Python 得出了一些结论!
对于天下霸唱的鬼吹灯,相信很多小伙伴都知道,它可谓是国内盗墓寻宝系列小说的巅峰之作,最近得知该系列小说的《龙岭迷窟》部分被制作成了网剧,已经于 4 月 1 日开播了,主要演员潘粤明、姜超、张雨绮等都是一些大家比较熟悉的面孔,网剧质量、剧情还原度等到底怎么样呢?我们通过本文来简单了解一下。
Python小二
2020/08/18
4230
潘粤明的《龙岭迷窟》到底怎么样?我用 Python 得出了一些结论!
手把手教你对抓取的文本进行分词、词频统计、词云可视化和情感分析
前几天星耀群有个叫【小明】的粉丝在问了一道关于Python处理文本可视化+语义分析的问题,如下图所示。
Python进阶者
2022/03/09
2.9K1
手把手教你对抓取的文本进行分词、词频统计、词云可视化和情感分析
Python爬虫实现验证码登录
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
张凝可
2019/08/21
3K0
Python模拟登陆 —— 征服验证码 1 豆瓣
captcha是Completely Automated Public Turing Test to Tell Computers and Humans Apart ,全自动区分计算机和人类的图灵测试
SeanCheney
2018/04/24
1.2K0
Python模拟登陆 —— 征服验证码 1 豆瓣
【腾讯云 TDSQL-C Serverless 产品体验】以TDSQL-C Mysql Serverless 作为数据中心爬取豆瓣图书数据
最近我一直在研究 python 爬虫,公司需要很多数据源的数据,但遇到一个很大的障碍,就是没有合适的数据库储存这些数据,因为普通的机器的性能瓶颈非常明显,而且爬虫数据性能的要求也不是非常稳定,如果购买一台高配按月付费的机器,那无疑浪费了没有使用到的性能,最近不小心看到了CSDN首页的推荐,发现正在在进行"腾讯云TDSQL-C Serverless Mysql 数据库体验活动",我发现 Serverless 这个特性非常符合这个场景,它的serverless 数据库可以按需启动,不需要时可关闭,而且缩放对应用程序无影响,接下来让我们一起来体验一下 TDSQL-C Serverless Mysql 吧。
用户10842428
2023/11/15
3120
【腾讯云 TDSQL-C Serverless 产品体验】以TDSQL-C Mysql Serverless 作为数据中心爬取豆瓣图书数据
使用Python和BeautifulSoup进行网页爬虫与数据采集
在互联网时代,数据是最宝贵的资源之一,而获取数据的能力则是数据分析、人工智能等领域的基础技能。本文将深入探讨如何使用Python和BeautifulSoup库进行网页爬虫与数据采集。我们将从基本概念入手,逐步展示如何搭建一个简单而功能强大的网页爬虫,并通过具体的代码实例引导您完成数据采集任务。
一键难忘
2024/10/14
8880
推荐阅读
哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说
5580
Python采集微博热评进行情感分析祝你狗年脱单
6980
爬来爬去(一):《蚁人2》豆瓣影评爬虫+简单情感分析+词云
1.1K0
《小美好》短评文本情感分析+生成词云
1.2K0
手把手教你用itchat统计好友信息,了解一下?
5870
【Python3爬虫】你会怎么评价复仇者
4810
Python网络爬虫之模拟登陆
5810
14、web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码
1.3K0
用Python对鹿晗、关晓彤微博进行情感分析
1.4K0
用Python爬取了《扫黑风暴》数据,并将其可视化分析后,终于知道它为什么这么火了~
5390
利用selenium爬取《西虹市首富影评》
7380
用Python爬取了《雪中悍刀行》数据,并将其可视化分析后,终于知道它为什么这么火了~
6860
python scrapy 爬虫实例_scrapy爬虫完整实例
4430
Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇
1.4K0
潘粤明的《龙岭迷窟》到底怎么样?我用 Python 得出了一些结论!
4230
手把手教你对抓取的文本进行分词、词频统计、词云可视化和情感分析
2.9K1
Python爬虫实现验证码登录
3K0
Python模拟登陆 —— 征服验证码 1 豆瓣
1.2K0
【腾讯云 TDSQL-C Serverless 产品体验】以TDSQL-C Mysql Serverless 作为数据中心爬取豆瓣图书数据
3120
使用Python和BeautifulSoup进行网页爬虫与数据采集
8880
相关推荐
哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文