首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化!

大家好,在之前我们讲过如何用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-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201115A0C1GO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券