Python爬取腾讯视频电影信息 并进行数据可视化

时间:2024-03-22 13:42:06

一、实验目的

1.掌握网络爬虫及数据分析和处理方法
2.掌握python网络爬虫的各种模块
3.掌握数据可视化方法

二、实验内容

1.爬取腾讯视频电影信息
2.处理和保存爬取的数据
3.利用pyecharts将数据可视化

三、实验过程

  1. 获取网页源代码 腾讯视频电影信息网页的网址为https://v.qq.com/channel/movie

实现代码如下
Python爬取腾讯视频电影信息 并进行数据可视化
运行之后可以看到网页的源代码如下
Python爬取腾讯视频电影信息 并进行数据可视化

2.分析网页,提取数据。
我选择的是影片名、链接、时长、简介、评分这些信息。

代码如下
Python爬取腾讯视频电影信息 并进行数据可视化
运行结果如下图
Python爬取腾讯视频电影信息 并进行数据可视化

3.用html文件保存爬取到的数据。这里用到了html的相关知识

代码如下
Python爬取腾讯视频电影信息 并进行数据可视化
运行之后会在相对路径生成一个data.html文件,打开之后如下图所示 点击链接会跳转到影片播放界面
Python爬取腾讯视频电影信息 并进行数据可视化

4.数据可视化。利用pyecharts图表库生成图表。确定影片名和评分这些数据可以用来可视化,生成电影评分排行榜(柱状图),将数据的基础信息放进一个list,引入pyecharts库。

关键代码如下图
Python爬取腾讯视频电影信息 并进行数据可视化
运行之后会在相对路径下生成一个bar.html 打开之后结果如下图
Python爬取腾讯视频电影信息 并进行数据可视化

四、实验知识学习

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts是百度开源的一个数据可视化 JS 库。ECharts是一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观、生动、可交互、可高度个性化定制的数据可视化图表。ECharts提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap,多维数据可视化的平行坐标,还有用于BI的漏斗图、仪表盘,并且支持图与图之间的混搭。

五、实验总结

  1. 遇到的问题

(1)在利用beautifulSoup提取信息时,运行出现错误,显示如下图所示:
Python爬取腾讯视频电影信息 并进行数据可视化
上网查阅之后,显示是因为在提取时长、简介、和评分时,用了find_all()方法,用这个方法返回了一个ResultSet结果集,应该使用find()方法来提取这些标签。
(2)在爬取到所用信息后,时长会有很多空格,为了显示美观,我用了.strip()方法来处理掉首尾的空格。
(3)在用柱形图表示数据时,柱形图的纵坐标不会显示影片名,而是显示数字,后来发现是因为echarts版本的问题,安装jupyter-echarts-pypkg的0.1.1版本就可以了。
(4)在安装需要用到的各种模块时,发现利用pip install直接安装容易出现错误,很难安装成功,这种情况下,可以先在官网下载所需模块的whl文件,然后pip install whl文件的名称就可以了。

  1. 总结收获

经过这次的实验,我对于网络爬虫有了深刻的了解,这次的实验我主要用的是beautifulSoup和pyecharts库,利用这些,我成功爬取了网页数据并对数据进行可视化分析,以图表的形式展现出爬取的信息。