大家好,在之前我们讲过如何用Python构建一个带有GUI的爬虫小程序,很多本文将迎合热点,延续上次的NBA爬虫GUI,探讨如何爬取虎扑NBA官网数据。并且将数据写入Excel中同时自动生成折线图,主要有以下几个步骤
本文将分为以下两个部分进行讲解
在虎扑NBA官网球员页面中进行爬虫,获取球员数据。
清洗整理爬取的球员数据,对其进行可视化。
项目主要涉及的Python模块:
爬虫部分
爬虫部分整理思路如下
观察URL1的源代码
找到球队名称与对应URL2
观察URL2的源代码
找到球员对应的URL3
观察URL3源代码
找到对应球员基本信息与比赛数据并进行筛选存储
其实爬虫就是在html上操作,而html的结构很简单就只有一个,就是一个大框讨一个小框,小框在套小框,这样的一层层嵌套。
目标URL如下:
URL1:
URL2(此处以湖人球队为例):
URL3(此处以詹姆斯为例):
先引用模块
查看URL1源代码代码,可以看到球队名词及其对应的URL2在span标签中下,进而找到它的父框与祖父框,下面的思路都是如此,图如下:
此时,可以通过模块与模块进行有目的性的索引,得到球队的名称列表。
就此得到了对应球队的URL2,接着观察URL2网页的内容,可以看到球员名称在标签a中下,同时也存放着对应球员的URL3,如下图:
此时,故依然通过模块与模块进行相对应的索引,得到球员名称列表以及对应的URL3。
现在就此得到了对应球队的URL3,接着观察URL3网页的内容,可以看到球员基本信息在标签p下,球员常规赛生涯数据与季后赛生涯数据在标签td下,如下图:
同样,依然通过模块与模块进行相对应的索引,得到球员基本信息与生涯数据,而对于球员的常规赛与季候赛的生涯数据将进行筛选与储存,得到data列表。
通过上述网络爬虫得到了以下的数据,提供可视化数据的同时便于绑定之后的GUI界面按键事件:
获取NBA中的所有球队的标准名称;
通过指定的一只球队获取球队中所有球员的标准名称;
通过指定的球员获取到对应的基本信息以及常规赛与季后赛数据;
可视化部分
思路:创建文件夹
创建表格和折线图
自定义函数创建表格,运用模块进行编写,返回已创文件夹的路径,代码如下:
运用模块在creatpath路径下自定义函数创建excel表格同时放入数据与构造折线图,代码如下:
数据表格效果展现,以詹姆斯为例如下
并且此时打开自动生成的Excel,对应的折线图就直接展现出来,无需再次整理!
现在结合任务一的网络爬虫与任务二的数据可视化,可以得到实时的球员常规赛数据与季后赛数据汇总,同时还有实时球员生涯折线图。便可以与上次的GUI界面任务设计中的”可视化“按钮事件绑定,感兴趣的读者可以自己进一步研究!
-END-
领取专属 10元无门槛券
私享最新 技术干货