电影评论分析系统的设计与实现

近些年, 随着大数据的降临以及互联网的快速运展,人们的生活方式、思维习惯潜移默化的发生了转变。人们开始将时间投放到精神生活,喜欢通过欣赏一部电影来缓解对外界物质生活的压力,愿意主动对陌生人表达在某部电影的想法和情感,因此电影影评应时而生。但每个事物都有两面性,影评也不例外,一方面,它是电影与观众的进行对话沟通的桥梁,表达了观众对影片的反应评价等方面的信息,对发行业,创造方起到很好的反馈作用。另一方面,影片评论本质上是一种夸夸奇谈的论述,它与电影的的干系上是一种感受根蒂之上的自我文娱。而且往往不同地区、年龄、性别等因素都会对影评造成影响。鉴于以上因素,本文通过对电影最巨有影响力的的猫眼进行影评信息爬取并对数据进行进一步的分析,使用sublime text开发工具、csv文本文件存储,运用python爬虫,采用pyecharts对数据进行可视化,实现了针对电影评论词云图、评论者全国地区分析及对电影评述进行简易的情感剖析等功能通过对猫眼电影网站中评分高达8.9分及拥有20亿票房的《复仇者联盟3》进行电影用户信息的采集,借此来设计一个电影评论分析系统,来判断人们对刚上映的电影的热度。对于选择困难症的观众是一种很有辅助性的选择方式。
目录
一、 引言 1
二、 相关技术介绍和工作原理 2
(一) 网络爬虫 2
(二) 电影评论获取 3
(三) 自然语言处理 3
(四) 数据可视化Pyecharts 4
三、 系统分析与总体设计 4
(一) 系统功能模块 4
(二) 电影评论爬取模块 5
(三) 情感分析模块 5
(四) 数据可视化模块 6
四、 详细设计分析 6
(一) 电影评论接口获取 6
(二) 评论采集 7
(三) 评论的存储 8
(四) 数据的情感分析 8
(五) 数据的可视化 9
1.柱状图可视化 9
2.折线图可视化 11
3.饼图可视化 11
4.漏斗图可视化 13
5.词云图可视化 13
6.地图可视化 15
五、 系统 *好棒文|www.hbsrm.com +Q: *351916072* 
实现 16
(一) 系统环境 16
(二) 电影评论信息获取实现 16
(三) 情感分析实现 16
(四) 数据可视化实现 17
六、 总结 21
致谢 22
引言
随着大数据时代的信息化和人们生活水平质量的提高,电影正走向普遍化,作为一种新颖的缓解压力方式开始被大众所接纳[1]。然而在层出不进的的电影中挑选一部自己喜爱的电影变得越来越困难。用户在挑选电影欣赏的时候,只能通过海报、电影简介来了解,并没有看到真实情节,对于电影的实际情况完全不了解,只能知道表面,不能判断这部是否真的喜欢,而且现在的电影市场为了票房,想方设法的将效益最大化,而做出虚假的介绍、劣质的制作,这样的电影会让用户有一种被欺骗的感觉。
在当代社会的言论自由体系下,用户对于选择电影的判断依据有多种,比如朋友介绍、海报、明星宣传、点评等方式,其中当前电影评论信息最具真实性,由于现在越来越多的人愿意使用网络作为渠道来表达自我的情感、思维习惯。他们会用有趣的片段、巧妙的语言表达来描述自己对刚看完电影的观后感。这些评论信息使以后来观看影片的电影爱好者在最短的时间内获得最多的了解,其次,用户想要获取到自己所需要的信息需要耗费很多的时间与精神,用户需要一种简洁且快速有效的方式对大量评论数据进行处理,并将得到的结果给予用户展示,让消费者更加了解电影。因而电影评论系统应运而生。
电影评论分析系统是通过网络爬虫的方法,按照所要收集的数据进行设计的算法,主动依照算法进行网页信息收集的程序。网络爬虫的优越性在于它可以爬取整个网页信息也可以只收集你所需要的有效信息舍去无用的部分。如此我们便可以飞快而无误的在这浩大的讯息海洋中获取到我所需要的目的信息。然后将得到的信息进行剖析处理,以图表的形式呈现出来。本系统是指通过对国内最具影响力的电影网站—猫眼,通过对评分高达8.9分及拥有20亿票房的《复仇者联盟3》进行数据的收纳采集、分类汇合、筛选重复等相关的数据处理,再生成性别划分、评论地理分布、评论词云、情感分析等统计图表的过程,评论分析是有效减少时间,提高决断效率的一个信息处理,能够给电影制作方和消费方带来可供参考价值的有用信息。
相关技术介绍和工作原理
网络爬虫
网络爬虫[2],在FOAF社区,被称为网页追逐者,是作为搜索引擎的关键部分,负责爬取并存储相关万维网网页的内容,自上个世纪90年代后,开始有许多从事计算机和爱好者开始着手网络爬虫的开发。目前网络爬虫技术已趋向成熟,很多搜索引擎本质上的中间模块依旧是爬虫技术。可以使用做网络爬虫的高级程序语言有很多,java与python便是其中最具完善网络爬虫生态圈的高级语言,但是java代码量很大,语言沉重,任何修改都会导致大量代码更改,并且爬虫需要修改一些数据以进行测试和收集。与其相比下,python,代码简洁,开发过程简单效率高,支持的模块多,只需要调用其类库或接口便可以处理数据。
爬虫是通过自己需要的数据定制的一个规则来自动抓取网页信息的程序,它能只抓取指定网站的有效数据,实现对数据的处理分析与常规使用网页浏览器时浏览器的基本原理一样,也是对网页的Request和Response的处理,当通过浏览器点开链接进入网页时,浏览器对链接网址所在的服务器发起Request,服务器接收请求并做出回应并将消息返回给网页页面上以供用户进行查看。
爬虫系统结构如图21所示,首先要先通过浏览器打开你所需要获取网址的链接,这里的链接就是网址URL,然后将与链接对应的网页通过模块下载,之后通过脚本将整个网页的页面元素中提取想要的数据,并将提取到的数据放到数据库上,同时在通过页面提取出来的URL链接,放到URL队列[3]中,然后再次同以上的过程获取自动获取数据。并将所获得出来的数据保留并存到数据库里。

图21 爬虫系统结构图
通过遍历url队列存放的url,不断的重复上述的信息,知道队列里面没有可使用的url。脚本不但可以获取链接也可以针对系统所需要的有效数据,比如是一个网页的标题,内容,数字,发布日期,获取消息,按照对应的格式将页面的有效内容挑选出来,并存到数据库中。本系统所设计的思路,即是通过网络爬虫的常规架构中进行数据的提取,存储。
电影评论获取
本系统是基于爬虫技术的系统结构上,由于现在防反爬技术的加强,程序员开始不把数据源直接放入页面元素了,开始对数据进行Ajax封装[4],本文所爬取的网站猫眼,已经不会把电影评论记录直接投放到页面上,而是采用调用接口的方式对数据进行防护。通过在Web端与在移动android端所得到的接口进行比较,发现web端只能爬取当前最近观看评影的数据,不具有时效性,而通过用移动端进行数据爬取,可以通过对时间端及评论数进行需求,进而爬取信息进行采集,并将爬取到的评论信息存储到对应的数据库文件中。电影评论获取流程图如图22所示:

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/981.html

好棒文