
NBA球员信息盘点(数据分析)
1.数据抓取
* 1.1使用工具及爬取内容介绍
1.2爬虫的步骤
2.数据存储
* 2.1写入csv
2.2写入txt
3.数据分析及可视化
* 3.1NBA球员身高区间
3.2NBA球员场上位置分布
3.3NBA球员得分分析
3.4计算上场时间与场次
3.5NBA热点新闻
使用了python的自动化框架selenium进行动态爬取,Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,
8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
本次爬取的网址是腾讯网的NBA栏目,爬取的内容是NBA球员的比赛信息以及热点新闻,爬取完成后将数据保存到csv文件中以便分析读取,后续会通过生成图表图形的方式来展示具体爬取的内容。
爬取的步骤为:确定爬取的内容、对主页面解析、子页面的获取、子页面的解析、数据的保存。我爬取的网站暂未发现反爬虫机制,所以本次不做反爬虫措施。
先找到要爬取的页面,通过解析主页面的标签找到进入子页面的链接,然后在子页面找到要爬取的信息对应的标签
分析页面:

可以看到要爬取的信息都会在对应的标签或者对应的class下,因此我们可以根据选择进行爬取。

获取页面所用的代码:
爬取到所需的数据之后,需要对数据进行处理,本文使用了写入csv和写入txt的方法来保存数据。
由于第一次写入的是每一列的列名,所以使用了两次with open的方法,第二次开始循环写入每一行的信息。
txt文件用于保存爬取到的NBA热点新闻,以便后续生成词云。
对NBA球员的身高区间进行分析,让我们更直观了解到NBA球员的身高
第一步先对NBA球员的身高区间进行划分
NBA球员基础信息如下:

将身高划分为180(cm)以下、180-190(cm)、190-200(cm)、200(cm)以上四个区间
使用matplotlib库进行可视化:

对NBA球员在场上的位置分布进行分析
分别有后卫、前锋、中锋、后卫-前锋、前锋-中锋五个位置
使用matplotlib库进行可视化:

观察NBA球员得分与出手数的关系
使用散点图直观显示:

观察NBA球员得分与上场时间的关系:
使用散点图直观显示:

观察NBA球员罚球数与罚球命中率的关系:

观察NBA球员三分出手数和三分命中率的关系:

观察NBA球员抢断数与失误数的关系:


图1 场次 | 
图2 上场时间
---|---
爬取NBA新闻的源码:
爬取成功后保存在一个txt文件中
txt文件:

通过词云将关键词整合出来

以上就是关于NBA球员信息盘点的全部内容,如果对内容感兴趣,欢迎在下方评论点赞,您的支持是对作者最大的动力,如果觉得本文中有不足欢迎大家指点出来,后续可能会添加更多新内容!

