豆瓣电影数据分析可视化

2017年12月5日 0 条评论 168 次阅读 0 人点赞

1.问题背景

 

豆瓣电影获取数据,提取有用信息、形成结论,对数据加以详细研究和概括总结。通过数据分析,更精准的找到好电影,有一定的现实意义。完整地展示网络数据从获取、处理到分析、可视化这一过程。项目代码托管在我的Github上,可视化网站请访问豆瓣电影数据分析

 

2 数据获取

用python写爬虫,urllib2都是比较好的选择。通过对网页结构进行分析,找到数据请求API。

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

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

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

3 数据清洗

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

数据清洗样例

4 数据分析

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

5 数据可视化

数据分析的结果是以可视化网站的形式给出的。我用laravel搭建了一个简单的网站,用Echarts绘制了一些简单的图例来对分析结果进行展示。

网站包含四个子菜单:简介、统计、评分、搜索。“统计”展示了和电影数量相关的分析结果,“评分”展示了和电影评分相关的分析结果,“搜索”则提供了一个简单的基于关键词匹配的搜索功能。主要界面截图如下:

 

 

 

6 总结

这次开发任务主要使用python和php两项技术,通过对数据采集、解析、清洗,对python有了初步的了解。laravel是我较为熟悉的php框架,此框架在设计逻辑和应用方面都非常好,顺便抛砖引玉地和大家介绍这一框架的方法和技术。网络上可以获取的数据不计其数,在数据源、分析技术、可视化方法上进一步提升,就一定可以创造出更有意义和价值的成果。

数据处理方面有所欠缺,由于数据本身以及网络原因,很多优秀数据被删除,后期可视化展示与分析时失去了部分资源。python与php之间的工作协同未能解决,项目工作中依然需要人为干预。希望在以后的学习中能得到解决。

lyssom

这个人太懒什么东西都没留下

文章评论(0)