豆瓣电影数据分析和可视化

前一段时间出于个人兴趣做了个小demo,主要内容是以豆瓣电影上提供的电影数据为例,完整地展示网络数据从获取、处理到分析、可视化这一过程。纯当练手,也为感兴趣的小伙伴提供相关的技术介绍。项目代码托管在我的Github上,可视化网站地址请参见文末。

数据获取

用python写爬虫,Scrapy和urllib2都是比较好的选择,由于我对功能的要求比较简单,故选择后者即可。

在豆瓣电影上通过Chrome开发工具找到数据请求API,接下来就可以写代码爬一些电影数据了,我使用的是这两个API:

  1. http://movie.douban.com/j/search_tags?type=movie
  2. http://movie.douban.com/j/search_subjects?type=movie&tag=爱情&page_limit=20&page_start=0

第一个API是获取所有电影的分类即tag,第二个是请求某个tag下偏移为page_start的page_limit条电影数据,包括电影的标题、url、评分等信息。

有了电影的url,再次爬取该页面对应的html内容, 然后用Beautiful Soup解析出想要的字段就好了。最终一共获取了4587条电影记录,每条记录包含以下15个字段:电影ID、标题、链接、缩略图、评分、导演、编剧、演员、分类、上映国家、语言、上映时间、时长、别名和简介。

数据清洗

这一步主要是为了提高数据质量和配合后续的工作,对获取的数据进行一些清洗和预处理工作。比如将字段里多余的空白去掉、将上映时间仅保留年份、将时长处理为以分钟为单位的整数等,下图是同一条电影数据在清洗前后的对比。

数据分析

最基本的分析包括一些统计量的计算,说白了就是固定或以某一个字段分类,对另一个字段进行求和或求平均。我的主要分析字段是电影数量和平均评分,看它们和电影分类、语言、上映国家、上映时间、时长等其他字段之间有何关联。

数据可视化

俗话说,“一图胜千言”,所以数据分析的结果以可视化网站的形式给出。我用Flask搭建了一个简单的网站,用Echarts绘制了一些简单的图标来展示分析的结果,可视化网站地址请参见文末。

网站包含三个子菜单:统计、评分、搜索。“统计”展示了和电影数量相关的分析结果。

“评分”展示了和电影评分相关的分析结果。

“搜索”则提供了一个简单的基于关键词匹配的搜索功能。

总结

这次开发任务主要出于个人兴趣,顺便抛砖引玉地和大家介绍一些基本的方法和技术。网络上可以获取的数据不计其数,只要脑洞开得够大,在数据源、分析技术、可视化方法上进一步提升,就一定可以创造出更有意义和价值的成果。

可视化展示平台:zhanghonglun.cn/data-visualization

如果觉得有趣,那就关注我的微信公众号吧

原文发布于微信公众号 - 宏伦工作室(HonlanFarm)

原文发表时间:2015-12-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

从Pipenv到PyTorch,盘点2017年最受欢迎的十大机器学习Python库

34414
来自专栏数据猿

【每周一本书】之《Microsoft Power BI 数据可视化与数据分析》

【数据猿导读】随着大数据研究热潮的兴起,各种数据可视化图表层出不穷,大数据生动呈现就成为了具有挑战性的工作,随之出现了大量的可视化软件 编辑 | abby 官网...

37111
来自专栏AI研习社

呵,我复现一篇深度强化学习论文容易吗

去年,OpenAI和DeepMind联手做了当时最酷的实验,不用经典的奖励信号来训练智能体,而是根据人类反馈进行强化学习的新方法。有篇博客专门讲了这个实验 Le...

1482
来自专栏FreeBuf

我们可以教机器学习隐私吗?

机器学习需要使用大量数据来对模型进行训练,而我们一般都会将这些训练数据上传到亚马逊和Google等运营商所托管的机器学习云服务上,但这样将有可能把数据暴露给恶意...

3654
来自专栏AI科技大本营的专栏

整合PyTorch 0.4和Caffe 2,PyTorch 1.0能挑战TensorFlow吗?

【AI 科技大本营导读】5月2日,在加利福尼亚州举办的年度开发者 F8 大会上,Facebook 正式推出 PyTorch 1.0 。其实,早在 2017 年 ...

1813
来自专栏目标检测和深度学习

github最热门的Python项目:深度学习占半壁江山

本篇文章为大家盘点了1月份最热门的Python 项目,本月最热门的开源项目中,深度学习相关的开源项目占据了半壁江山,让我们一起来看下吧! 1 FastPhoto...

31010
来自专栏机器之心

业界 | 英伟达开源硬件加速项目NVDLA:一种标准化的推断加速框架

3419
来自专栏IT派

2018年2月份GitHub上最热门的Python项目:深度学习占半壁江山

本篇文章为大家盘点了2月份最热门的Python 项目,本月最热门的开源项目中,深度学习相关的开源项目占据了半壁江山,让我们一起来看下吧!

1200
来自专栏企鹅号快讯

Unity机器学习代理ML-Agents v0.2版本发布

Unity机器学习代理最新版ML-Agents v0.2现已发布!在本版本里,我们作了以下改进: 为Unity SDK和Python API增加了新特性 更多新...

3766
来自专栏互联网技术栈

数据仓库模型说明

数据仓库的建设是一个过程,而不是一个项目。在这个过程中我们需要形成自己的规范,以方便管理和维护。在数据仓库的建设过程中,不仅会面临着公司业务迅速发展,业务系统迭...

2953

扫码关注云+社区

领取腾讯云代金券