您当前的位置:首页 > 文章 > 基于Python的海量豆瓣电影、数据获取、数据预处理、数据分析、可视化、大屏设计项目(含数据库)

基于Python的海量豆瓣电影、数据获取、数据预处理、数据分析、可视化、大屏设计项目(含数据库)

作者:王小王-123 时间:2023-07-04 阅读数:605 人阅读

项目介绍

有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主!!!!!!!!!!

本文基于Python的网络爬虫手段对豆瓣电影网站进行数据的抓取,通过合理的分析豆瓣网站的网页结构,并设计出规则来获取电影数据的JSON数据包,采用正态分布的延时措施对数据进行大量的获取。并利用Python的Pandas数据分析库,对获取的数据进行预处理,将非结构化的数据清洗为干净的数据,便于后续的大数据分析,分别对数据进行空值检测与处理,字符串的约束,字段值的扩充,以及数据的清洗。

然后将清洗好的数据,存储到MySQL结构化的数据库中,进行大数据分析,结合多维度的字段,对电影数据进行结构化分析,和喜爱程度分析,以及趋势分析等,最终将分析结果通过Pyecharts网页可视化展现出来,并设计大屏可视化,达到一体化的效果。

本研究利用自动化爬虫程序,获取了大量的豆瓣电影数据,并通过数据清洗和预处理,将清洗好的数据存入MySQL数据库中。通过调用数据库中的结构化数据,对电影评分指标分布、用户喜爱程度、影评文本、地域等多维度数据进行分析,并采用pyecharts前端可视化库进行展示。

最后,利用pyecharts的Page模块,对同一个分析维度的可视化展示进行统一展示,构建基于豆瓣电影分析的大屏可视化。本研究通过数据分析和可视化技术,为电影产业提供了有价值的参考和支持。

研究背景

豆瓣电影是目前国内最受欢迎的电影评价网站之一,用户可以在该网站上进行电影评分、评论、收藏等操作。由于豆瓣电影上的数据非常丰富,因此对这些数据进行分析和可视化研究有助于我们深入了解电影市场的发展趋势和用户评价偏好,为电影制作和营销提供有益的参考。

随着社会的不断发展,电影产业也在不断壮大,越来越多的人开始重视电影的文化价值和商业价值。豆瓣电影上的评分和评论成为了衡量电影品质和受欢迎程度的重要标准之一。通过对豆瓣电影上的数据进行分析和可视化研究,我们可以深入了解用户对电影的评价和偏好,挖掘电影市场的发展趋势和商业机会,为电影制作和营销提供更有针对性的建议和策略。

本次研究的主要目的是分析豆瓣电影上的电影数据,探究不同类型电影的评分和用户评价,同时还将利用Python中的数据分析和可视化工具,如Pandas、Matplotlib和Seaborn等,对这些数据进行处理和可视化呈现,以期能够更加直观地展示分析结果。

此处省略…

国内外研究现状分析

豆瓣电影是中国最大的电影社区之一,该平台拥有海量的电影信息,因此成为了众多电影爱好者最受欢迎的平台之一。同时,豆瓣电影也是一个重要的电影评价平台,用户可以在该平台上对电影进行评分和评论。因此,豆瓣电影的数据分析和可视化研究成为了热门的研究方向之一。

此处省略…

研究目的

本研究旨在通过Python对豆瓣电影数据进行分析和可视化研究,以探究豆瓣电影的观影人群、影片评价、影片时长、电影类型等方面的特征,并基于此提出一些有益的结论和建议。
研究内容:

1.数据采集和清洗

本研究将采用Python爬虫对豆瓣电影网站上的电影信息进行数据采集,并通过数据清洗和处理,确保数据的准确性和完整性。数据采集的主要内容包括电影名称、导演、演员、评分、评论数、电影类型、制片国家/地区、上映日期、时长等。

2.观影人群特征分析

通过对豆瓣电影网站上的用户信息进行数据采集和处理,本研究将探究豆瓣电影的观影人群的性别、年龄、地域、职业等方面的特征,以了解不同人群的观影偏好和评价。

3.电影评价分析

此处省略…

研究意义

随着互联网技术和智能手机的普及,电影已经成为了现代人娱乐生活不可或缺的一部分。而豆瓣电影作为一个非常有名的电影评价平台,拥有海量的用户评价数据和电影信息,能够为电影爱好者提供重要的参考和决策支持。因此,对豆瓣电影数据进行分析和可视化研究具有很高的研究价值和现实意义。

本研究旨在通过对豆瓣电影数据的分析和可视化研究,深入了解电影市场的变化趋势、受欢迎程度、用户评价等方面,为电影从业人员、电影爱好者以及电影研究者提供有益的参考和建议。

研究总体设计

本课题Python的豆瓣电影的数据分析以及可视化研究,通过利用Python设计爬虫程序,其中包括自动化爬虫程序,编写智能延时功能,保证有效的获取豆瓣电影的大量的数据。

将豆瓣电影数据页面中的自动获取之后,采用Python的pandas和numpy库对数据进行清洗和预处理,其中包括多维度数据字段清洗和扩充,并将清洗好的数据存入到MySQL数据库中,采用数据分析思维,调用数据库中的结构化数据,对不同维度的数据进行分析,例如电影评分指标分布,用户喜爱程度分析,影评文本分析,地域分析等等,然后利用pyecharts前端可视化库,进行展示,绘制多维度的可视化图表,并结合实际的分析结果进行论述,提供数据分析结论。

最后将同一个分析维度的可视化展示,通过pyecharts的Page模块,对可视化进行统一展示,构建基于豆瓣电影分析的大屏可视化。

具体步骤和规划如下:

1.设计豆瓣电影自动化爬虫程序,自动获取电影数据

其中需要设计一个自动化的爬虫程序,对于豆瓣网站,因为它的反爬措施比较严格,电影页面的数据是采用动态加载的原理进行展示的,初步分析需要采用JSON数据获取豆瓣电影的URL,然后通过请求到具体的电影页面在进行解析和定位具体的电影字段数据。

获取数据的时候,需要模拟浏览器对网站进行请求,需要加入请求头,然后分析不同JSON数据包中的参数,发现具体的规律之后可以设置对应的程序进行获取数据集。如果IP频繁的访问网站不仅会给目标网站带来负载压力,还会被网站识别为恶意爬虫,所以设计爬虫程序的时候需要加入延时函数,采用正态分布的思想模拟人的速度点击和访问网站的频率,可以增强爬虫的稳定性。

其次由于有时候获取数据的时候,会有有一些字段在某些电影中不存在,所以为了保障程序的稳定健壮的持续运行,需要设置智能化爬虫。初步的分析需要对字段的数据值进行一个判断,如果没有获取到数据,那么就自动赋值为空值,这样就可以避免程序中断。

2.对爬取到的数据进行清洗和预处理,包括多维度数据字段清洗和扩充

由于我们获取的大量的数据中,存在一些不规则的字段,比如演员、上映时间、电影时长等这些字段中包含其他的中文字符,我们需要对其进行结构化清洗,保证数据的有效性,便于后续的分析,其次数据中存在一些空值,需要进行处理,然后将其保存为一个新的数据。

其次,在处理时间字段的时候,将中文字段去除之后,然后对数据字段进行扩充,比如年、月、日、周数等,可以方便后续的数据分析,增加分析的维度,保障数据的有效进行。

3.将清洗好的数据存储到MySQL数据库中

将预处理好的数据存入在MySQL中,便于后续的管理和调用数据,MySQL作为一个结构化的数据库,可以存储大量的数据,并且可以帮助我们采用SQL语句进行查询和数据分析,具有非常高效的特点。

4.豆瓣电影数据字段多维度数据分析

采用数据分析思维,调用数据库中的结构化数据,从多个维度对豆瓣电影数据进行深入分析,比如电影评分分析,地域分析,时间维度分析,电影类型分析等。

5.利用pyecharts可视化库,绘制各种多维度的图表

利用Python的pyecharts这个第三方可视化库,调用数据库中的数据,采用前端可视化分析的方法,将可视化展示在网页中,实现炫酷的交互式的图形展示,便于我们进行发现规律,给用户或者其他人员提供决策性的支持依据。

6.对分析结果进行论述,提供数据分析结论

对分析数据进行分析,提出相关性的结论,以及出现的规律性的结论,为豆瓣电影的行业提供一些描述性的分析结论,凸出数据分析在这个中主要地位。

7.大屏可视化

将同一个分析维度的可视化展示,通过pyecharts的Page模块,对可视化进行统一展示,构建基于豆瓣电影分析的大屏可视化。

总之,本研究采用Python的网络爬虫技术和大数据分析技术,通过合理的数据获取、数据清洗和预处理、数据存储和数据分析等多个环节,最终实现了对豆瓣电影从数据的获取到数据清洗,数据加载到hive仓库中,对其进行大数据分析以及可视化展示。

在这里插入图片描述

网络爬虫介绍

网络爬虫是一种自动化工具,可以在互联网上自动搜索和抓取信息。它可以自动化地浏览网页、提取数据并将其保存到本地计算机上,以便后续的数据分析、挖掘和处理。在当今信息爆炸的时代,网络爬虫已经成为了人们获取和处理信息的重要手段之一。

网络爬虫的原理是通过HTTP或HTTPS协议向网站发送请求,并获取网站返回的HTML源代码。然后,通过解析HTML源代码,网络爬虫可以提取出网页中的各种信息,包括文本、图片、链接、音频、视频等等。网络爬虫可以根据自己的需求和设定的规则自动爬取整个网站或特定的网页,从而实现自动化的数据获取。

网络爬虫有着广泛的应用场景。例如,搜索引擎需要通过网络爬虫自动抓取互联网上的各种网页并建立索引,以便用户能够更方便地搜索到所需的信息;电商网站需要通过网络爬虫自动获取竞争对手的产品信息和价格信息,以便做出更合理的价格策略;新闻媒体需要通过网络爬虫自动抓取新闻信息并进行整理和分类,以便更好地提供新闻服务等等。

此处省略…

豆瓣电影数据的采集

对进行网页结构分析后,能够通过爬取每一部电影的数据获取到以下详细信息,该信息如下图所示。需要注意的是,由于豆瓣电影的数据是动态的,因此需要不断地进行点击操作才能获取完整的信息。经过解析发现,在传输数据时,网站会包含一个JSON数据包,其中包含了数据字段,即页面信息。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

下一步是使用Python编写网络爬虫程序,并实现反爬措施,包括请求头和参数设置。程序会清洗JSON数据,获取我们需要的网址,并遍历该数据下的字。在程序设计过程中,有如下创新点:

  1. 智能化爬取模块:为了避免过于频繁的访问,程序会进行自动化延时,模拟人类点击网站行为。如果某个数据字段为空,程序会自动赋值为空并提示出现空值。
  2. 实时写入数据:程序会实时将数据源写入到CSV文件中,以避免在某一时刻程序无法正常进行爬虫,导致之前的数据无法写入。
  3. 可借鉴的程序结构:该程序的结构化清晰,逻辑思维较强,具有很强的可借鉴性。
  4. 智能化反爬措施:程序加入了智能化反爬措施,结合网站的反爬措施,保证程序不会被封禁IP。

在这里插入图片描述

在这里插入图片描述

数据预处理

基于爬虫获取的数据基本符合大数据分析的条件,但对于某些字段需要进一步处理。例如,电影名称中的逗号需要去除,因为在后续的导入到hive仓库时,我们使用csv格式进行分割。若在数据预处理时未进行处理,导致导入数据出现错位,影响了分析结果。另外,需要对某些字段进行值的扩展和约束。例如,电影时长中包含中文,演员信息中存在大量的人员,因此可以通过以下几个方法进行数据

预处理和结构化处理:

首先,针对movie_name字段,需去除其中包含的逗号字符,避免后续的数据加载出现错位的情况。
其次,针对yanyuanData字段,其虽然疑似列表,但本质上不是列表,因此需要使用Replace方法,将其中的括号去除。然后,利用Python的Split函数按照特定序列进行分割。由于该字段为演员信息,因此可采用统计演员个数的方法,代替原来的字段值,以方便后续的探索分析。接着,将演员信息存储为文本文件,便于进行文本分析可视化,并使用词云展示其中的姓名。

在这里插入图片描述

大数据分析及可视化

豆瓣影评结构化分析

使用SQL语句对豆瓣电影数据进行查询并通过Pyecharts进行可视化展示后,发现8-9分的评分数量最多,呈正态分布。相反地,低分电影数量较少,而高于9分的电影数量也相对较少,但仍有一定数量的高分电影存在。

在这里插入图片描述
在这里插入图片描述

进行分析时,发现中国大陆、中国香港和中国台湾被划分为不同的国家,实际上它们都属于同一个国家。因此,我们需要使用case语句对这些地区进行归并,统一为“中国”,然后对评分大于9.0的电影在各个国家中所占比例进行分析。

在这里插入图片描述

我们发现评分高于9.0的电影前三的国家分别是美国、日本、中国。因此,当我们选择观看豆瓣电影时,可以优先选择这些国家的电影。
针对不同类型的电影,我们可以查询每个类型中最高评分、最受欢迎和最不受欢迎的电影。也就是说,我们可以找出每种类型中评分最高和评分最低的电影。

接下来的数据分析只展示图片,有需要的可以私信博主!!!!!

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

大约有20几个电影数据可视化分析以及结论

大屏可视化

大屏可视化指的是将大量数据通过图表、表格、地图等可视化方式展现在大屏幕上的一种数据展示方式。使用pyecharts的page组件实现大屏可视化具有以下优势:

(1)数据可视化直观易懂:通过图表等方式展示数据,可以让用户更直观地了解数据的分布和趋势,快速获得数据洞见,避免繁琐的数据分析过程。

(2)多种图表展示方式:pyecharts支持多种常用的图表展示方式,如折线图、柱状图、饼图等,还支持地图展示和热力图展示等,能够满足不同用户对数据展示的需求。

(3)可定制性强:pyecharts的page组件可以灵活定制,可以自定义页面布局和样式,满足用户不同的需求和喜好。

(4)实时更新数据:使用pyecharts的page组件,可以通过定时刷新或者异步请求数据的方式,实现实时更新数据,使得用户能够及时了解数据的变化。

(5)简单易用:pyecharts的page组件使用方便,通过简单的代码编写就能够实现复杂的可视化页面,能够让用户更专注于数据分析和洞见的挖掘。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

文本可视化

我们将之前抓取的数据中,保存了电影演员的名字和电影描述。现在,我们将对这些数据进行文本词云分析。此分析具有以下意义:
(1)营销推广:娱乐行业相关机构,如电影公司或电影院,可能会将演员名字做成词云并在宣传海报或网站上展示,以吸引观众的眼球和提高电影的知名度。
(2)影评分析:影评人或爱好者可以分析电影演员名字的词云,以帮助他们理解电影的演员阵容,预测电影的质量和风格。
(3)社交媒体分析:一些爱好者可能会使用演员名字做成词云,并通过社交媒体分享给其他人,以展示自己对某个演员或电影的喜爱和支持。
(4)学术研究:学者可以通过分析电影演员名字的词云来了解电影行业的发展趋势、演员的流行程度和行业格局等方面的信息,以便进一步的研究和探讨。

我们编写了一个智能化词云展示程序,用户可以输入参数展示词云。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

此处省略…

总结

本研究采用Python的网络爬虫手段对豆瓣电影网站进行了数据抓取,并利用Pandas数据分析库进行了数据的预处理和清洗。通过对清洗好的数据进行多维度的分析和可视化展示,得到了有价值的结论和见解。

首先,我们从电影评分指标分布方面进行了分析,通过对电影评分数据的统计和可视化,发现豆瓣电影的评分呈现正态分布特征,绝大多数电影评分集中在7-8分之间。此外,我们还对电影评分和票房之间的关系进行了分析,发现电影评分与票房之间的相关性较弱,票房高的电影不一定评分高。

其次,我们从用户喜爱程度方面进行了分析,利用文本情感分析技术对影评文本进行情感分析,并对不同类型的电影用户喜爱程度进行了比较。结果表明,豆瓣用户对文艺片和纪录片等类型的电影更为偏爱,而对于喜剧片和动作片等类型的电影评价较低。此外,我们还对用户地域进行了分析,发现豆瓣用户的地域分布较为广泛,不同地区对电影类型的喜好也存在一定的差异。

最后,我们通过采用pyecharts前端可视化库,将分析结果进行可视化展示,并利用Page模块构建基于豆瓣电影分析的大屏可视化。这样,不仅可以更加直观地展示分析结果,也可以实现多维度的可视化展示与统一展示。

综上所述,本研究通过自动化爬虫程序获取了大量的豆瓣电影数据,并通过数据清洗和预处理,将非结构化的数据清洗为结构化的数据,并存储到MySQL数据库中。通过对清洗好的数据进行多维度的分析和可视化展示,我们得到了对豆瓣电影市场、用户评价和电影内容等方面的深入理解和洞见。同时,本研究所采用的Python语言和数据可视化工具也具有很高的普适性和应用价值,可以为其他领域的数据分析和研究提供借鉴和启示。

本站大部分文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了您的权益请来信告知我们删除。邮箱:1451803763@qq.com