第 7 章 网络搜索:获取和分析选秀权
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
美式足球公共分析领域的一大胜利是nflscrapR ,之后是nflfastR 。通过这些软件包,可以轻松分析我们都热爱的比赛。将数据纳入您的计算空间往往就像下载 Python 或 R 的软件包一样简单,然后就可以走了。
但有时并不那么容易。通常,你需要自己从网上搜刮数据(使用计算机程序下载数据)。虽然用 Python 和 R 教你所有的网络搜刮方法已经超出了本书的范围,但一些相当简单的命令就可以让你获得大量的数据来进行分析。
在本章中,你将从Pro Football Reference(职业橄榄球参考)中获取 NFL Draft 和 NFL Scouting Combine 数据 。这是宾夕法尼亚州费城的一个绝佳资源。该网站隶属于 Sports Reference 公司,后者也提供各种体育运动的免费数据。您将使用该网站获取 NFL 选秀和 NFL 球探组合的数据。
NFL 选秀是一年一度的盛事,在全国多个城市举行。在选秀大会上,各队从高中毕业后至少完成三年学业的球员中选拔球员。虽然过去有更多轮,但 NFL 选秀目前由七轮组成。每轮的选秀顺序取决于各队前一年的表现。弱队的选秀顺位高于强队。球队可以用选秀权换取其他选秀权或球员。
NFL 球探甄选大会是 一年一度在印第安纳州印第安纳波利斯举行的盛会。在选秀大会上,一批有资格参加 NFL 选秀的运动员与 NFL 球队的评估人员会面,进行各种身体和心理测试。此外,这通常被认为是 NFL 一年一度的大会,各队与经纪人之间的交易都在这里达成,有时甚至最终敲定。
这两个数据集的组合是足球分析初学者的绝佳资源,原因有以下几点。首先,数据是每年一次在几天内收集的,此后不会再有变化。虽然有些球员可能会在日后重新进行身体测试,球员也经常会因为各种原因离开选中他们的球队,但选秀球队是不会改变的。因此,一旦获得数据,通常可以使用几乎整个日历年,之后只需在下一年获得新数据时添加即可。
您将从 2022 年开始搜索所有 NFL 球探联合试训和 NFL 选秀数据,然后再加入以后年份的数据进行分析。
提示
Web scraping涉及大量的试验和错误,尤其是在刚开始的时候。一般来说,我们会先找到一个可行的例子,然后逐一修改,直到达到我们的要求。
使用 Python 进行网络抓取
提示
在开始网络搜刮之前,请先进入网页,以便查看要下载的内容。
下面的代码允许我们通过使用for 循环来使用 Python 进行 scrape。如果您跳过了这几章或需要提醒,"球员个人市场和建模 "提供了for 循环的介绍。将 的统一资源定位符(URL)或网址保存到一个对象url 中。在本例中,URL 只是 2022 年 NFL 选秀的 URL。
接下来,使用pandas 软件包中的read_html() 从给定的 URL 读取表格。请记住,Python 从 0 开始计数。因此,数据帧的第 0 个元素,即来自read_html() 的draft_py ,只是网页上的第一个表格。您还需要将NA 草稿中的近似值改为0 :
## Pythonimportpandasaspdimportseabornassnsimportmatplotlib.pyplotaspltimportstatsmodels.formula.apiassmfimportnumpyasnp
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access