《基于豆瓣网电影数据的分析与可视化.docx》由会员分享,可在线阅读,更多相关《基于豆瓣网电影数据的分析与可视化.docx(39页珍藏版)》请在第一文库网上搜索。
1、基于豆瓣网电影数据的分析与可视化摘要随着我国互联网行业和数字电影行业的不断飞速发展,两者之间的合作联系越来越紧密。还陆续出现了许多基于互联网上的视频播放网站。用户想要在这些视频播放网站上找到自己喜欢的电影是一件很不容易的事,为了给用户的选择提供一个有用的参考,在庞大的网络电影库中快速找到自己真正喜欢的网络电影,本次课题从电影信息和短评信息两方面入手设计了豆瓣电影数据可视化系统。为了更好地对国内电影网站数据进行分析,本课题首先利用Python+Scrapy建立一套爬虫系统,收集豆瓣网的相关数据,通过MySq1数据库把获取到的电影名、电影导演、电影评分、电影类型、评论用户等数据进行持久化,为整个可
2、视化系统提供了广泛而可靠的数据支持。最后使用PythOn提供的第三方库MatPIOtIib、Pands和EXCeI数据可视化工具进行数据清洗和以图形的形式直观地展示数据结果,并多角度分析电影的发展,得出相关结论。关键词:Scrapy;Python;第三方库;数据可视化;电影AbstractWiththerapiddeve1opmentofChina,sInternetindustryanddigita1fi1mindustry,thecooperationbetweenthetwoismoreandmorec1ose.Therearea1somanyInternet-basedvideop1a
3、ybackwebsites.Userswanttofindtheirfavoritemovieonthesevideop1aybacksiteisaverynoteasything,inordertogivetheuserchoicetoprovideausefu1reference,inthehugenetworkmovie1ibraryquick1yfindtheirrea11y1ikenetworkmovie,thesubjectfromthemovieinformationandshortreviewinformationdesignthedoubanmoviedatavisua1iz
4、ationsystem.Inordertobetterana1yzethedomesticfi1mwebsitedata,thistopicfirstusePython+Scrapytoestab1ishacraw1ersystem,co11ectre1evantdataofdouban,throughMysq1databasetoobtainthemoviename,moviedirector,movierating,movietype,anduserdataforpersistent,providesextensiveandre1iab1edatasupportforthewho1evis
5、ua1izationsystem.Fina11y,thethird-party1ibraryMatp1ot1ib,PandsandExce1datavisua1izationtoo1sprovidedbyPythonwereusedtoc1eanthedataandintuitive1ydisp1aythedataresu1tsingraphica1form,andthedeve1opmentofthefi1mwasana1yzedfrommu1tip1eang1estodrawre1evantconc1usions.Keywords:Scrapy;Python;third-party1ibr
6、ary;datavisua1ization;movie1绪论11.1 研究背景和意义11.2 国内外研究现状21.3 系统主要内容及论文结构安排31.3.1 系统主要内容31.3.2 论文结构安排42相关技术与开发环境52.1 相关技术简介52.1.1 Python简介52.1.2 XPath简介52.1.3 SCraPy框架简介52.1.4 Matp1ot1ib简介62.1.5 Pandas简介62.2 开发环境72.2.1 PyCharm简介72.2.2 MySqI简介72.3 本章小结72.4 性与需求分析83.1 可行性分析83.1.1 技术可行性83.1.2 经济可行性83.1.3
7、操作可行性83.2 需求分析93.2.1 系统功能需求分析93.2.2 各功能用例分析93.2.3 可视化功能性分析113.2.4 可视化非功能性分析123.3 本章小结124数据可视化总体设计134.1 数据可视化架构设计134.2 系统功能模块设计134.2.1 数据采集功能模块设计144.2.2 数据可视化功能模块设计164.3 时序图设计174.4 系统数据库设计184.4.1 数据库概念结构设计184.4.2 数据库逻辑结构设计184.5 本章小结195数据可视化系统实现215.1 数据采集功能实现215.2 数据可视化功能实现235.3 本章小结246数据可视化结果展示256.1
8、关键词分析观众看点256.2 从豆瓣评分趋势的角度分析最近热门中国大陆作品质量266.3 从不同类型的电影数量角度分析观众喜欢的电影类型266.4 电影评价人数276.5 本章小结277系统测试287.1 系统测试方案设计287.2 系统测试用例287.2.1 数据采集测试287.2.2 评价人数和情感分析测试297.2.3 评分和词云分析测试307.3 本章小结3031结论参考文献32致谢错误!未定义书签。1绪论第一章主要介绍了关于这个项目的一些基本介绍,包括有开发系统之前的要了解这个项目的背景和意义,然后关于这个课题的国内外的研究现状如何,然后介绍在开发这个系统的时候需要用到那些技术,本章
9、主要介绍这些内容,本章的具体内容如下。1.1 研究背景和意义近几年,在网络PythOn语言强势的发展背景下,数据思维及数据分析方法也逐渐被运用到各个领域当中,成为人们进行分析数据,传播内在规律的有效途径。如果我们只用人力来下载相关信息,不仅要花很多时间,而且得到的信息也很少。网络爬虫是一个你可以自己获取网页的次序。它将从包含大量信息的信息库中提取有用的信息,爬虫在提取有用信息方面非常有效,这使得解决和分析数据成为现实。网络爬虫将继续提取网页上的数据,并将其存储在本地。通过分析和筛选,可以在缓存数据中创建准则并存储在系统中,方便用户查询和搜索。爬虫系统很好地提取了隐藏在大量数据中的信息,搜索效率
10、很高,在很大程度上更好地利用了信息数据库。爬虫系统节省了大量的读取和存储数据的时间,协助研究人员以及储存众多信息,因此可以更加便捷地获取藏匿在数据之后的知识。现阶段,电影已经逐渐成为现代人们日常娱乐休闲消遣的重要生活方式之一,受到越来越多的年轻人的喜爱和追捧。根据初步统计,2016年中国电影门票市场已经实现各项重要指标的快速健康发展。在这个新的时代背景下,中国电影行业要想取得更大进步,就必然需要不断提升每部电影作品质量,挖掘广大观众对每部电影的总体评价和观众反馈的每部电影的相关数据,充分及时了解广大观众的观影需求,制作和推出更多受观众欢迎的好电影作品。从用户观众体验层面来说,网络上存在着大量的
11、网络电影视频资源,用户想要在庞大的网络电影库中快速找到自己真正喜欢的网络电影比较困难。所以本次课题从豆瓣电影入手,分析电影评分与电影导演、电影评分与电影主演、电影评分与地区等之间的关系,以及用户对电影的短评数据,为用户提供更加详细的电影观看建议与电影推荐,为电影行业提供可用的观众满意度数据等等。1.2 国内外研究现状在国内,很多平台都会使用大数据来研究电影相关信息进而预测票房和电影口碑,致力于提供给观众更加优质的电影产品。2010年,惠普实验室分析了推特上的电影数据实现票房预测。PythOn作为搜索引擎技术组成部分之一,自九十年代初诞生了第一个网络爬虫以来,Python技术已经经过了20多年的
12、发展,经过这么多年的发展,Python技术也趋于成熟,逐渐覆盖了网页开发、游戏开发、爬虫分析可视化、脚本开发等等专业领域。并通过其简单易懂、代码编写效率高的特点,成为目前最为火热的开发编程语言,也正是其应用广泛,上手容易,语法强大,代码可读性强的特点,受到了很多人的喜爱,让很多人爱不释手。同时,由于不同的人对于数据爬取内容的差异,常常会产生不同的需求,因此爬虫主要可以分为以下两种:通用爬虫:通用爬虫其实很简单,它的作用就是将网络上的网页下载下来,保存到本地,其实就是生成一个副本,作为网页的备份。所以通用搜索一般得到的都是网页,对于用户来说,网页的内容十之八九都是没用的,要的只是网页中的某些特定
13、的信息。所以就有了我们第二种爬虫方法。聚焦爬虫:聚焦爬虫是比通用爬虫更加复杂一点,它不同于通用爬虫,通用爬虫是将网页保存到本地,但是聚焦爬虫,它不会将整个网页爬取下来,它会筛选得到网页中我们所需要的东西,而筛选的条件规则是由我们自己定义的,相比通用爬虫,聚焦爬虫它做的工作更多,但是得到的数据更加符合我们的要求,本文所实现的爬虫,就是通过聚焦爬虫所实现的。自1990年代以来,许多计算机工作者一直从专注于相关领域的研发工作。从当前实际看,爬虫科技日渐成熟。国内有许多研究网络爬虫系统的组织和学者,如杜凤媛设计实现的一套分布式自定义集合网络爬虫系统,它可以一次准确识别大量各种网页元素,能够形成提取规则
14、,而且可以通过不同的网页情况以信息采集方式对场景化进行适应,从而对数据进校高效处理。用户可以根据自己的需求可视化地编辑爬虫任务脚本,自动完成爬虫数据的采集。还有一个潘剑锋设计的主题爬虫系统,从结构化数据中提取,计算网页结构相似度,去噪文本,中文分词,主题关键词抽取等五个方面对主题爬虫的工作流程进行了设计和研究,介绍了网页分类的基本步骤,重点分析了朴素贝叶斯分类算法、TF-IDF算法和余弦相似度的基本工作原理。在实际对客户查询要求进行解决的基础上,有的学者对网络爬虫定义进行了研究,主要数基于信息抓取的考虑,采用特征并不明显的特定爬虫。网络爬虫技术旨在为在互联网上搜索用户提供后续搜索和推荐服务。国
15、内外的大型搜索引擎公司每天都使用自己的爬虫程序在互联网上爬取大量信息。除了搜索引擎公司的闭源爬虫程序之外,互联网上还有许多开放源爬虫技术12。在SCraPy爬虫框架中主要采用的语言是PythOn。13而该框架主要依赖于Python事件进行框架驱动,能够让操作人员非常简便地运用爬虫对相关模块进行研发,而通过不同页面的抓取,以结构数据进行显现,通过多样的配置,不断增加定义的中间软件,通过链接和进程以及代理去抓取、测试以及进行并发和速度控制。基于SCraPy框架细节以及爬虫策略的深入研究,能够对爬取策略与架构进行深入整合分析,在优化系统中,可以让多个环节环环相连。14SCraPy具有更成熟的文档和扩展名,因此实现预期目标进行开发相对方便。西方学者比国内学者更早使用大数据的方法对电影领域进行分析。其中最有代表性的是澳洲学者巴里索特。索特对影片的模式进行了十分精确地更改:远景,中景,近摄,长镜头,短镜头,动作镜头等等。他通过计算这些场景的数据判断出导演或时代的风格。1.3 系统主要内容及论文结构安排1.3.1 系统主要内容这次课题的主要内容是通过PythOn3+Scrapy框架爬取所需要的IOOO多个数据,并全部存入MySq1,然后对存入MySqI中的数据进行数据清洗与提取成CSV文件、EXCeI数据表和文本文件等等。通过Py