基于Python的影视数据智能分析系统开发

这篇具有很好参考价值的文章主要介绍了基于Python的影视数据智能分析系统开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于Python的影视数据智能分析系统开发,Python编程 进阶之路,python,开发语言,人工智能,数据挖掘

1. 前言

数据分析与可视化是当今数据分析的发展方向,大数据时代,数据资源具有海量特征,数据分析和可视化主要通过Python数据分析来实现。

基于Python的数据分析可视化和技术实现是目前Python数据分析的主要目的,Python可以为数据分析可视化提供思路,在体现数据价值方面发挥着重要作用。因此,在研究数据分析、可视化的过程中,我们可以看到Python具有重要的应用价值。

本文具有影视数据智能分析系统的简单雏形,以不同流媒体电影数据为背景,通过调研、分析数据, 完成数据预处理、数据分析和数据可视化等操作,掌握相关的智能数据处理与智能系统开发的知识,培养智能信息系统项目开发过程中的分析、设计和工程文档编写能力,提高工程应用能力和综合分析、解决实际问题的能力。

由于文章篇幅的限制,这里只展示了部分代码。完整的设计说明书,任务书以及代码已经上传到主页资源部分,点击下载。

2.设计目的及任务描述

影视数据分析应用统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这一过程也是质量管理体系的支持过程。影视数据分析可帮助人们做出观看影视的选择及投入更合适的影视,尤其对视频管理平台有很好的帮助。影视数据分析是建立在数基础,20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。同时,在数据获取、处理和分析过程中考虑数据安全、技术经济、工程伦理、行业规范等要素。

本设计内容涉及的数据一部分来自Reelgood.com网站,其中包括四种流媒体平台上可用电影的综合列表;另一部分来自IMDB数据集。要求应用pands对下列问题进行数据分析:

  • 你可以在哪个流媒体平台上找到这部电影?
  • 在某个国家/地区/IMDB制作的电影的平均IMDb收视率?
  • 每个目标年龄段所感兴趣的电影,以及他们所感兴趣的流媒体应用程序。
  • 电影的发行年份以及数量。
  • 电影和导演的受欢迎程度分析。

通过该课程设计的实践训练,使学生掌握相关的智能数据处理与智能系统开发的知识,培养智能信息系统项目开发过程中的分析、设计和工程文档编写能力,提高工程应用能力和综合分析、解决实际问题的能力。

3. 总体设计

本系统主要分为四个部分,分别为爬虫抓取、数据处理分析可视化、GUI界面展示、启动运行,分别对应getData.pypyec.pyGUI.pymain.py四个文件。并且包含data文件夹用于存储系统所需或产生的数据文件。

系统结构如图所示:

基于Python的影视数据智能分析系统开发,Python编程 进阶之路,python,开发语言,人工智能,数据挖掘

4.系统实现

4.1 爬虫抓取

getData.py该文件主要功能是抓取和读取电影数据,共包含8个函数,代码如下:

recently() 这一函数主要是抓取最近上映票房排名前十名的电影信息。

def recently():
    url = "https://ys.endata.cn/enlib-api/api/movie/getMovie_BoxOffice_Day_Chart.do"

    header = {
        "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36',
        "Cookie": 'JSESSIONID=b2685bfa-aa4f-4359-ae96-57befaf8d1ec; route=4e39643a15b7003e568cadd862137cf3; Hm_lvt_82932fc4fc199c08b9a83c4c9d02af11=1649834963,1649852471,1649859039,1649900037; Hm_lpvt_82932fc4fc199c08b9a83c4c9d02af11=1649917933'
    }

    post_BoxOffice_Day_data = {
        'r': 0.7572955414768414,
        'datetype': 'Day',
        'date': datetime.now().strftime('%Y-%m-%d'),
        'sdate': datetime.now().strftime('%Y-%m-%d'),
        'edate': datetime.now().strftime('%Y-%m-%d'),
        'bserviceprice': 1
    }

以上代码块是运行爬虫前的准备工作,包含抓取的网址url、爬虫所需的请求头、请求时需要附带的数据。

    res = requests.post(url, headers=header, data=post_BoxOffice_Day_data).text
    json_data = json.loads(res)
    data0 = json_data['data']['table0']
    data1 = json_data['data']['table1']

以上代码块是运行爬虫并将其解析为json形式,方便后面对数据进行取出。


    movie_rank = []
    movie_details_MovieName = []
    movie_details_BoxOffice = []
    movie_details_ShowCount = []
    movie_details_AudienceCount = []
    movie_details_Attendance = []

    movie_percent_BoxOfficePercent = []
    movie_percent_ShowCountPercent = []
    movie_percent_AudienceCountPercent = []

以上代码是部分定义的所需的数据字段。

    for i in range(10):
        movie_rank.append(data0[i]['Irank'])
        movie_details_MovieName.append(data0[i]['MovieName'])
        movie_details_BoxOffice.append(data0[i]['BoxOffice'])
        movie_details_ShowCount.append(data0[i]['ShowCount'])
        movie_details_AudienceCount.append(data0[i]['AudienceCount'])
        movie_details_Attendance.append(data0[i]['Attendance'])

以上是从json数据中取数据的过程。

showing() 这一函数主要抓取最近正在上映的所有电影的基本信息。
history() 这一函数主要是读取历史电影数据并返回列表格式


def history():
    data = pd.read_csv("data/moviesBoxOffice.csv", encoding='gbk')
    data = np.array(data[:100]).tolist()
    return data

利用pandas库读取csv文件,numpy对DataFrame形式数据转换为list格式的过程。

predict_data() 这一函数主要是读取历史电影数据进行建模,建模完成后,读取需要预测的在映电影数据,对其进行票房预测并返回。
hotMovies() 这一函数主要是抓取当前在映票房前五的电影七天内的票房数据。

special() 这一函数主要抓取的是当前电影市场特效影厅种类及其票房占比的数据。
champion_year() 这一函数主要抓取的是近十年来中国电影市场每年票房冠军影片的票房数据,还抓取了近十年国内电影市场的票房和上映影片数量等相关数据。

Tablets() 这一函数主要是对近期在映电影的排片数据进行抓取并返回。

4.2 GUI界面运行

GUI.py该文件主要是为系统构建GUI界面,共有15个函数,具体代码如下:
create_tree_showing该函数主要是为正在上映的电影数据创建数据表格。代码块先是确定数据表头,然后创建表格并设置其父窗体,表格一次性显示数据行数,是否显示表头等参数,然后分别设置表格数据列及每列的宽度。代码块设置表头文本信息,再设置该信息表的垂直滚动条。

create_tree_tablets该函数主要是为在映电影的排片数据创建数据表格。
create_tree_history该函数主要是为历史电影数据创建数据表格。

create_tree_predict该函数主要是为在映电影票房预测结果数据创建数据表格。
clear_tree该函数主要功能是在切换展示数据表格时,对已展示表格数据进行清除。
该函数有一个tree参数,首先对tree进行销毁,再对该表格的垂直滚动条进行销毁。

showing该函数对应按钮’在映电影’,用于实现获取在映电影数据功能。
history该函数对应按钮’历史电影’,用于实现获取历史电影数据功能。

predict该函数对应按钮’在映电影票房预测’,用于实现对在映电影票房预测并展示。
tablets该函数对应按钮’拍片分析’,用于实现获取排片分析数据功能。

center_window该函数是创建整个GUI窗体的函数。
clicking该函数对应’在映电影分析’按钮,用于跳转在映电影分析网页。先调用getData.py下的recently函数获取在映电影数据,再调用pyec.py文件下的Showing函数进行统计图表制作,最后跳转到数据图表网页。

clicked该函数对应’历史数据分析’按钮,用于跳转电影票房分析网页。
industry该函数对应’数据大盘’按钮,用于跳转数据大盘网页。

ui_process该函数主要是对GUI窗体控件等进行布局。创建根窗体,设置GUI的名称,大小,整体高亮颜色,对内部子窗体进行了初始化并且在子窗体的左上角添加了一张logo图片。在子窗体设置了各个功能对应的按钮。设置了整体窗体的布局,以及各个子窗体控件的设置,设置了窗体列参数及运行了整个窗体。

4.3 启动运行

main.py该函数是整个系统的GUI入口,调用并运行了GUI。

from GUI import uiob

if __name__ == '__main__':
    ui = uiob()
    ui.ui_process()

5.可视化设计

pyec.py该文件主要是对getData.py文件获取到的数据进行可视化操作,共有3个函数,代码功能详解如下:

History()该函数主要是对历史电影数据进行可视化,具体代码如下:

csv_file = 'data/moviesBoxOffice.csv'  # 设置csv文件的路径
    data = pd.read_csv(csv_file, encoding='gbk')  # 使用pandas读取csv文件中的数据

    data_type = data['影片主分类'].value_counts()  # 统计影片主分类的各类别数量
    data_BoxOffice = data['总票房(万)'][:10]  # 获取前10部电影的总票房数据

该代码块主要是读取历史电影票房数据为画图做前期准备工作。

  # 创建柱状图a,展示票房TOP1000类型统计
    a = (
        Bar(init_opts=opts.InitOpts(height="450px", width="900px", theme=ThemeType.MACARONS, bg_color='white'))  # 设置图表的基本参数
            .add_xaxis(list(data_type.index))  # 设置x轴数据
            .add_yaxis("类型", list(data_type))  # 设置y轴数据
            .set_global_opts(
                title_opts=opts.TitleOpts(title="票房TOP1000类型统计"),  # 设置图表标题
                # datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],  # 设置数据缩放选项
            )
    )

    # 创建柱状图b,展示票房TOP10总票房统计
    b = (
        Bar(init_opts=opts.InitOpts(height="450px", width="900px", theme=ThemeType.LIGHT))  # 设置图表的基本参数
            .add_xaxis(list(data['影片名称'][:10]))  # 设置x轴数据
            .add_yaxis("票房", list(data_BoxOffice))  # 设置y轴数据
            .set_global_opts(
                title_opts=opts.TitleOpts(title="票房TOP10总票房统计"),  # 设置图表标题
                # datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],  # 设置数据缩放选项
                xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 20})  # 设置x轴标签旋转角度
            )
    )

    # 创建折线图c,展示票房TOP10各类票房统计
    c = (
        Line(init_opts=opts.InitOpts(height="450px", width="900px", theme=ThemeType.LIGHT))  # 设置图表的基本参数
            .add_xaxis(list(data['影片名称'][:10]))  # 设置x轴数据
            .add_yaxis("总票房(万)", list(data['总票房(万)'][:10]), is_smooth=True)  # 设置y轴数据并进行平滑处理
            .add_yaxis("首日票房(万)", list(data['首日票房(万)'][:10]), is_smooth=True)  # 设置y轴数据并进行平滑处理
            .add_yaxis("首周票房(万)", list(data['首周票房(万)'][:10]), is_smooth=True)  # 设置y轴数据并进行平滑处理
            .add_yaxis("首周末票房(万)", list(data['首周末票房(万)'][:10]), is_smooth=True)  # 设置y轴数据并进行平滑处理
            .add_yaxis("点映票房(万)", list(data['点映票房(万)'][:10]), is_smooth=True)  # 设置y轴数据并进行平滑处理
            .set_series_opts(label_opts=opts.LabelOpts(is_show=True),  # 设置数据标签显示选项
                             linestyle_opts=opts.LineStyleOpts(width=3))  # 设置线条样式
            .set_global_opts(
                title_opts=opts.TitleOpts(title="票房TOP10各类票房统计", pos_left='top'),  # 设置图表标题及位置
                # datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],  # 设置数据缩放选项
                xaxis_opts=opts.AxisOpts(name="影片名称", axislabel_opts={"rotate": 20}),  # 设置x轴标签及标签旋转角度
                yaxis_opts=opts.AxisOpts(name="票房(万)")  # 设置y轴标签
            )
    )
	# 由于文章篇幅的问题,部分代码省略

以上代码主要是针对各种数据指标进行数据可视化,最后将其显示到网页供程序调用。两个柱形图分别对票房Top1000的电影类型和票房Top10的总票房进行统计。五个折线图分别是对票房Top10电影的各类票房、场次人次、票价、舆情、口碑五个方面的统计。最后两个图为电影名称词云图和电影分类饼图。

基于Python的影视数据智能分析系统开发,Python编程 进阶之路,python,开发语言,人工智能,数据挖掘

Showing()该函数主要是对正在上映的电影进行数据分析,包含在映电影的票房、场次、人次、上座率五个柱形统计图,影片票房占比、场次占比、人次占比三个饼状统计图,影片地域分布票房、场次、人次三个层叠柱形图。
基于Python的影视数据智能分析系统开发,Python编程 进阶之路,python,开发语言,人工智能,数据挖掘

Industry()该函数主要是对近期电影行业及电影行业历史数据的可视化,主要包括热门电影票房趋势折线统计图,特效厅票房占比分布饼状图。

基于Python的影视数据智能分析系统开发,Python编程 进阶之路,python,开发语言,人工智能,数据挖掘

6.总结

基于Python的影视数据智能分析系统开发,Python编程 进阶之路,python,开发语言,人工智能,数据挖掘
通过该课程设计的实践训练,使学生掌握相关的智能数据处理与智能系统开发的知识,培养智能信息系统项目开发过程中的分析、设计和工程文档编写能力,提高工程应用能力和综合分析、解决实际问题的能力。

下面是该系统的主要功能及技术指标:

数据获取和预处理:

  • 使用pandas读取数据文件;
  • 拆分不同的属性信息,形成列表、元组、字典或集合;
  • 删除空列或行;
  • 观察数据并清洗错误数据;
    -使用pandas对数据整理,方便之后的分析和可视化。

数据分析:

  • 使用numpy和pandas对数据预处理后的数据进行分析,设计七种以上的数据分析场景。

数据可视化:

  • 利用Matplotlib和seaborn分别对每种分析场景可视化。

数据涉及的数据项:-ID -Title -Year -Age -IMDb -Rotten Tomatoes -Netflix -Hulu -Prime Video -Disney+ -Type -Directors -Genres -Country -Language -Runtime

使用到的库包括:numpy、pandas、matplotlib、seaborn等。开发工具选用jupyter notebook或python IDE等Python开发工具。

我是大橙子,下期见!文章来源地址https://www.toymoban.com/news/detail-786015.html

到了这里,关于基于Python的影视数据智能分析系统开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于python影视电影点评系统设计与实现:开题报告、成品参考、毕设辅导资料

     博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月05日
    浏览(51)
  • 基于ChatGPT打造一个智能数据分析系统

    最近最火的AI话题无疑就是ChatGPT了,让大家看到了通用智能领域的巨大进步,ChatGPT已经能足够好的回答人们提出的各种问题,因此我也在想能否利用ChatGPT来理解用户对于数据分析方面的提问,把这些提问转化为相应的数据分析任务,再把结果返回给用户。 例如我们有一个数

    2024年02月10日
    浏览(41)
  • SpringBoot基于大数据的智能家居销量数据分析系统(附源码)

    💗博主介绍:✌全网粉丝10W+,CSDN全栈领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者。 👇🏻 精彩专栏 推荐订阅👇🏻 计算机毕业设计精品项目案例-200套 🌟 文末获取源码+数据库+文档 🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编

    2024年02月03日
    浏览(65)
  • python开发项目基于语音识别的智能垃圾分类系统的设计与实现

     博主介绍 :擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 Java项目精品实战案例(300套) Java微信小程序项目实战(200套) Python项目精品实战案例(100套) 目录

    2024年02月16日
    浏览(55)
  • 基于R语言的影视评分影响因素实证分析(一)

    电影票房 电影自从1895年在法国巴黎公开售票放映以来,至今已有百余年的历史。电影以其独特的艺术魅力和无与伦比的视听效果,深深地吸引了亿万观众。在各种文化娱乐、艺术样式中,电影是最受人民群众欢迎的。 近年来,我国的电影市场总的趋势是疲软的,虽然靠进口

    2024年04月10日
    浏览(46)
  • ssm/php/node/python基于数据分析星辰网智能手机销售网站

    本系统 (程序+源码) 带文档lw万字以上    文末可领取本课题的JAVA源码参考 选题背景: 在数字化时代,智能手机已经成为人们日常生活和工作中不可或缺的一部分。随着科技的迅猛发展,消费者对智能手机的需求日益多样化,市场上涌现出各式各样的品牌和型号。星辰网

    2024年02月21日
    浏览(45)
  • 大数据爬虫分析基于Python+Django旅游大数据分析系统

    欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。    基于Python和Django的旅游大数据分析系统是一种使用Python编程语言和Django框架开发的系统,用于处理和分析旅游行业的大数据,为旅游从业者和决策者提供有关旅游趋势、客户需求、市场竞争

    2024年02月03日
    浏览(65)
  • 基于SpringBoot的影视/短视频网站系统

    PS :该项目《基于springboot的视频网站设计与实现》为本人毕业设计。使用的开发工具是idea和webstrom。使用了java、springboot、mybatis、thymeleaf、vue-element-admin等插件。 该内容是本人参考网上博客改写的系统并经过允许。 本系统前台视频点播系统使用springboot+thymeleaf的前后没有分离

    2024年02月03日
    浏览(34)
  • python-大数据分析-基于大数据的QQ音乐数据分析系统设计与实现

    DESIGN DESCRIPTION After hundreds of years of development of digital music market at home and abroad, the total number of music works collected has reached a considerable degree. Faced with such a large number of music works, how to let users hear their favorite music works more conveniently and efficiently is a matter that music platforms must consider, and

    2024年02月03日
    浏览(46)
  • python开发项目基于语音识别的智能垃圾分类系统的设计与实现【源码+论文+演示视频+包运行成功】

     博主介绍 :擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 Java项目精品实战案例(300套) Java微信小程序项目实战(200套) Python项目精品实战案例(100套) 目录

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包