一、项目简介

1.1 项目

1.2 项目完成的功能与特色

通过豆瓣电影网站分析network查找js的数据,并爬取数据生成CSV文件,对表中的数据进行分析,然后绘制相应的饼图,柱状图,散点图。

使用python中的第三方库requests,pandas,pyecharts,snapshot_phantomjs

Echarts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而,pyecharts诞生了。

(1)爬取豆瓣电影热门分类的评分,名称,评论数,类型,地区,时长

(2)生成CSV文件

(3)对电影类型进行分析,然后获得数据进行分析,并绘制柱状图

(4)对电影地区进行分析,然后获得数据进行分析,并绘制饼图

(5)对电影评分进行分析,然后获得数据进行分析,并绘制散点图

1.3 项目采用的技术栈

python requests pyecharts

利用requests获取豆瓣电影的js文件并转换成json,然后提取评分、名称、评论数、类型、地区、时长这些数据利用pyecharts里面的Echarts生成饼图,柱状图,散点图。 

二、项目的需求分析

随着互联网的发展壮大,网络数据越来越多,如何高效抓取信息成为难题。网络爬虫具有自动提取网页信息的能力。根据网站的特点,提出了一种基于Python中requests模块及Py Query模块进行数据采集的爬虫程序设计,可采集豆瓣网大量信息。本设计具有针对性强,操作容易、简单,采集数据准确,采集量大等优点。

项目功能图:

python3 爬虫开发 python爬虫项目_数据

 

 

三、项目功能架构图、主要功能流程图

项目功能架构图:

python3 爬虫开发 python爬虫项目_柱状图_02

 

 

主要功能流程图:

python3 爬虫开发 python爬虫项目_饼图_03

python3 爬虫开发 python爬虫项目_柱状图_04

 

 

 

四、系统模块说明

   4.1 系统模块列表

python3 爬虫开发 python爬虫项目_柱状图_05

   4.2 各模块详细描述(名称,功能,运行截图,关键源代码)

1.名称:爬虫

功能:爬取豆瓣电影热门分类的评分,名称,评论数,类型,地区,时长

关键源代码:

(1)设置一些headers信息,模拟成浏览器访问网站 

python3 爬虫开发 python爬虫项目_数据_06

 

 

(2)返回URL

python3 爬虫开发 python爬虫项目_数据_07

 

 

(3)返回响应文本

python3 爬虫开发 python爬虫项目_柱状图_08

 

 

(4)把js数据转换成json格式的字符串并数据提取数据

python3 爬虫开发 python爬虫项目_柱状图_09

 

 

(5)通过正则表达式提取,解析评论数,类型,地区,时长的数据

python3 爬虫开发 python爬虫项目_柱状图_10

 

 

(6)把数据存入到csv文件

python3 爬虫开发 python爬虫项目_数据_11

 

 

(7)控制爬虫,遍历获取的每一条数据,存进csv文件

python3 爬虫开发 python爬虫项目_柱状图_12

 

 

(8)读取CSV文件,没有CSV文件的话就报错

python3 爬虫开发 python爬虫项目_数据_13

 

 

运行截图:

python3 爬虫开发 python爬虫项目_数据_14

 

 

 

python3 爬虫开发 python爬虫项目_数据_15

 

 

2. 名称:可视化数据分析

功能:

对电影类型进行分析,然后获得数据进行分析,并绘制柱状图

对电影地区进行分析,然后获得数据进行分析,并绘制饼图

对电影评分进行分析,然后获得数据进行分析,并绘制散点图

   

关键源代码:

  pycharts是python中调用百度基于js开发的echarts接口,也可以对数据进行各种可视化操作。调用接口画出了饼图,柱状图和散点图。

(1)通过传入data这个数据,使用pycharts把数据生成电影地区饼图,并渲染到pie.html

python3 爬虫开发 python爬虫项目_饼图_16

 

 

(2)通过传入data这个数据,使用pycharts把数据生成电影类型柱状图,并渲染到bar.html

python3 爬虫开发 python爬虫项目_数据_17

 

 

(3)通过传入data和titles这两个数据,使用pycharts把数据生成电影评分散点图,并渲染到scatter.html

python3 爬虫开发 python爬虫项目_饼图_18

 

 

运行截图:

python3 爬虫开发 python爬虫项目_柱状图_19

 

 

python3 爬虫开发 python爬虫项目_饼图_20

python3 爬虫开发 python爬虫项目_数据_21

 

 

五、项目总结

 5.1 特点

  该项目爬取的数据生成CSV文件,对表中的数据进行分析。绘制成的饼图可以看出各个地区生产数的多少;绘制成的柱状图可以看出各个电影类型数量的多少;绘制成的散点图可以看出电影评分的高低,在网页上移动到某一散点,可以看到该散点对应的电影名称。

 5.2 不足之处

  在做这个项目时还是有点艰难的,显然自己平时学习的还不够多。有的内容经过查阅资料后还做得不是很好。像散点图由于数据太多没办法显示完整的名称就只能把名称隐藏了。