用Python分析了7w+《悬崖之上》影评,看看观众都是怎么说?

简介: 五一档的电影已经开播好几天了,要说最为好看的可谓是张艺谋导演《悬崖之上》了,在五一档电影中评分排名第一,并且在昨天综合已经超过《你的婚礼》,排在五一档电影第一名。

大家好,我是志斌~


五一档的电影已经开播好几天了,要说最为好看的可谓是张艺谋导演《悬崖之上》了,在五一档电影中评分排名第一,并且在昨天综合已经超过《你的婚礼》,排在五一档电影第一名。


0.png

虽然总票房还差一点,但是我觉得总票房升上去只是时间问题,毕竟拍片场次那么高。


1.png


本文通过爬取《悬崖之上》豆瓣短评,进行数据可视化分析,在后台回复【悬崖】即可获得全部代码。


01数据采集


在之前的文章我们已经对豆瓣短评的数据采集有过详细的介绍,有不懂的小伙伴可以看看这篇文章我用python分析《你好,李焕英》豆瓣30万+评论,终于找到了它大卖的原因。这里我们直接展示爬虫核心代码:


for page in range(80):
   try:
       params = (
           ('start', str(page * 20)),
           ('limit', '20'),
           ('status', 'P'),
           ('sort', 'new_score'),
           ('comments_only', '1'),
           ('ck', 'qN8_'),
       )
       r = requests.get('https://movie.douban.com/subject/32493124/comments', headers=headers, params=params, cookies=cookies)
       yonghumingchengs = re.findall('<a title="(.*?)href.*?">', r.json()['html'], re.S)
       youyongshus = re.findall('<span class="votes vote-count">(.*?)</span>', r.json()['html'], re.S)
       pinglunshijians = re.findall('<span class="comment-time " title="(.*?)">', r.json()['html'], re.S)
       pingluns = re.findall('<span class="short">(.*?)</span>', r.json()['html'], re.S)
       for i in range(20):
           a = a + 1
           sheet.append([yonghumingchengs[i], youyongshus[i], pinglunshijians[i].split()[0].split("-")[-1],
                         pinglunshijians[i].split()[1].split(":")[0], pingluns[i]])
       print(f"已爬取完第{page}页数据,存入{i + 1}条数据....")
   except:
       wb.save("全部.xlsx")
       print(f"共爬取{page}页数据,存入{a}条数据....")
       ~~~


02数据清洗


01合并Excel


因为是分全部、好评、一般、差评四个部分来对影评进行爬取的,所以我们要对这四个影评文件夹进行合并。代码如下:


for i in files:
   wb = openpyxl.load_workbook(i)
   sheet = wb['豆瓣评论']
   for i in range(2,502):
       A_cell = sheet[f'A{i}']
       B_cell = sheet[f'B{i}']
       C_cell = sheet[f'C{i}']
       D_cell = sheet[f'D{i}']
       E_cell = sheet[f'E{i}']
       a = [A_cell.value,int(B_cell.value),int(C_cell.value),int(D_cell.value),E_cell.value]
       sheet_1.append(a)
       ~~~


02导入评论数据


用pandas读取合并后的影评数据并预览。


df = pd.read_excel('总.xlsx',names=['用户名称','点赞数','评论日期','评论时间','评论内容'])
print(df.head())

2.png



03删除重复数据


df.drop_duplicates()


04查看数据类型


查看字段类型和缺失值情况,符合分析需要,无需另做处理。


df.info()



3.png

03数据可视化


01各类评论占比

4.png


这部电影的短评数有7w+,好评竟能占到快80%,果然张艺谋导演的剧都是好剧~,建议大家抓住五一的小尾巴,去刷一下这个剧。


主演提及次数




5.png


这部影片一共有五个主演,没想到男一张译和女一秦海璐竟然不是被提及次数最多的,反而是刘浩存被提及次数最多,那让我们来看看大家在影评中都是怎么评价她的。



微信图片_20220617102855.png


从词云图中看出,作为新晋的谋女郎,刘浩存确实实力很强,演技很好,同时影片中的角色也很好,可能是这样才导致它的被提及次数成为第一吧。


各类星级占比


6.png



从图中,我们可以明显的看出,打4星的观众最多,占了54%,其次是3星和5星,分别占26%和17%。这样看来,观众还是非常肯定这部影片的。


04论发表时间分布


6.png


从图中,我们可以看出,大部分影评发表时间在晚上和凌晨,白天发表影评的数量很少,影院可以适当增加晚上和凌晨的场次。


03小结


1. 本文仅供学习研究使用,提供的评论仅供参考。

2. 本人对影视的了解有限,言论粗糙,还请勿怪




相关文章
|
30天前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
53 4
|
16天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
7天前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
36 7
|
7天前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
18 3
|
27天前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
56 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
|
7天前
|
存储 机器学习/深度学习 算法
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第26天】NumPy和SciPy是Python科学计算领域的两大核心库。NumPy提供高效的多维数组对象和丰富的数学函数,而SciPy则在此基础上提供了更多高级的科学计算功能,如数值积分、优化和统计等。两者结合使Python在科学计算中具有极高的效率和广泛的应用。
22 2
|
12天前
|
数据采集 机器学习/深度学习 搜索推荐
Python自动化:关键词密度分析与搜索引擎优化
Python自动化:关键词密度分析与搜索引擎优化
|
14天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
32 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
23天前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
40 2
|
30天前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景