豆瓣电影数据可视化

个人简介

姓名:吕嘉瑶

性别:女

专业班级:信科1501班

邮箱:872993458@qq.com

获奖经历:

2018年美国大学生数学建模竞赛二等奖

2017年东北农业大学“朗昇杯”数据挖掘竞赛一等奖

2017年东北三省数学建模联赛一等奖

2017年全国大学生数学建模竞赛省一等奖

2016年全国大学生数学建模竞赛省三等奖

东北农业大学2017年”三下乡”社会实践校三等奖

大一大二连续两年获得“三好学生”奖学金

兴趣爱好:

爱好唱歌,小提琴

一、实验目的

利用豆瓣电影TOP250的数据,通过R语言爬虫获取数据,进行数据清洗,利用数据可视化的方式,将评分人数最多的10部影片、电影评分最多的区间、电影类型占比、电影国家占比进行直观的展示。

二、实验内容

1. 数据获取

对于TOP250豆瓣电影的数据,最权威的来源肯定是来自于豆瓣电影官方网站(https://movie.douban.com/top250)的数据提供。但是官方网站页面一页电影数据量较少,爬取数据耗时漫长,因此选择爬取知乎中整理出的评分大于8.3分的豆瓣电影信息数据(https://zhuanlan.zhihu.com/p/22561617)。

利用R语言,将爬取到的原始数据,全部汇总在一个excel表中。其中包括电影名称,网址,电影评分,评价人数,上映年份,所属国家及电影类型,所得到的表格如下:

2. 数据处理

首先选中电影名称列,按住Ctrl+F键在出现的界面中用空格将“(豆瓣)”替换。

其次用Excel文本分列的方法,将在一个单元格中的电影类型分解到各个单元格中。

然后进行数据透视。电影评分score列透视——选中电影评分score列,用【数据透视】将score拖至到数值文本框内即可统计出每个评分的个数。按行标签升序排列得到所要数据,做电影评分区间漏斗图。所属国家透视——由于分列后国家和电影类型不能完全分开,我们将没有表头的列进行标号,进而将other列与1列数据化为一列,在行标签中筛选出所有国家,对国家数据进行透视。公式为

=OFFSET(F$1,TRUNC((ROW()-1)/2),MOD(ROW()-1,2))

得到降序后的数据。电影类型的数据透视步骤同上。

电影评分、所属国家、电影类型降序后所得数据如下:

3. 数据可视化分析

最终整理出4个excel表格,分别是【电影数据表】【汇总表—score】【汇总表—国家】【汇总表—电影类型】。

利用在线可视化工具【BDP】:将表格数据上传,做出评价人数最多的TOP10电影图表及国家所占比环形饼图:(https://me.bdp.cn/home.html)。

利用在线可视化工具【ECharts】做出电影评分区间漏斗图及电影类型词云图:

(http://echarts.baidu.com/echarts2/doc/example.html)

三、实验程序与结果

1.程序

library(rvest)

library(stringr)

# 指定需要抓取的URL

url

# 读取网页内容

page

# 获取电影的链接,用%>%符号进行层级划分

movie_url a') %>%html_attr("href")

# 获取电影名称

movie_name a') %>% html_text()

# 获取电影的其他描述信息

describe % html_text()

# 筛选出需要的子集

describe

# 通过正则表达式匹配评分

score

# 通过正则表达式匹配评价人数

evalue_users

# 通过正则表达式匹配电影年份

year

# 由于生产国和电影类型用/分割,且没有固定的规律,故将生产国和电影类型存入到一个变量中

other

# 构建数据框

raw_data

head(raw_data)

# 将抓取的数据写出到本地

write.csv(raw_data, 'C:/Users/lenovo/Desktop/movies.csv', row.names =FALSE)

2.结果

评价人数最多的前十部电影分别是:

【肖申克的救赎】 【这个杀手不太冷】 【盗梦空间】 【阿甘正传】 【三傻大闹宝莱坞】 【泰坦尼克号】 【千与千寻】 【让子弹飞】 【海上钢琴师】 【少年派的奇幻漂流】

占比最多的前五个国家分别是:美国、日本、英国、香港、法国

从漏斗图可以看出,评分区间在[8.3,8.5]内的电影数目最多,其次是评分区间[8.6,8.8],且评分越高,所占的电影数量越少。

从词云图可以看出,大多数的电影类型为剧情类,其次是喜剧、犯罪、爱情类,动画与动作类电影数量也较多。

如有任何问题

您可以发送邮件至

或关注微博/知乎/微信后台留言

我们期待您的提问!

微博:数据智农

知乎:数据智农

制作:陈天旭

【数据可视化】基于自然语言情感分析的网店评价

【数据可视化】数据分析与处理

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181024G08LX000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券