测听hl和nhl的区别
又到了每年的这个时候。 夏天即将结束,秋天即将来临,NHL赛季即将开始。
还有什么更好的时间来使用NHL的未记录API? 经过一些在线搜索和反复试验后,我设法发送了一个AJAX请求,并从半秘密的NHL API中检索了所有与NHL相关的统计信息。
让我们看一下如何从API中检索单个玩家的统计信息。
我们将检索基本的球队信息,球队的完整花名册以及各个球员的ID号,这将使我们能够访问其各自的统计信息。
首先,让我们看一下根API端点:
https://statsapi.web.nhl.com/api/v1/
根URL将导致404错误。 如果我们将/ teams定位到URL端点,则可以检索有关所有NHL特许经营权的基本信息,包括球队在联赛中的第一年,会议,分区以及球队体育场的信息。
用于检索特许经营数据的API端点和返回的JSON:
https://statsapi.web.nhl.com/api/v1/teams
如果打开包含特许经营数据的对象之一,则会看到以下内容:
该对象包含属性ID和链接 ,其中包含纽约游骑兵队数据的API端点以及他们的队ID号。 访问纽约游骑兵队数据的直接端点是https://statsapi.web.nhl.com/api/v1/teams/3。 现在我们有了专营权的API端点,我们可以发送一个请求,以检索该球队的花名册,这又将使我们能够通过检索球员的ID来访问他们的个人数据。
发送请求以检索名册数据,并返回JSON:
https://statsapi.web.nhl.com/api/v1/teams/3/roster
如您所见,名册API端点返回的数据包含有关团队中每个玩家的信息。 如果打开数组的第11个元素,我们将访问Mika Zibanejad的数据,其中包括其ID号和用于检索其个人统计信息的API端点。
发送请求以检索Mika Zibanejad的个人数据,并返回JSON :
https://statsapi.web.nhl.com/api/v1/people/8476459
该请求将为我们提供Mika Zibanejad的血统信息,例如身高,体重,家乡,年龄等。但是,如果我们想从2018-2019赛季中获取他的数据怎么办?
该API的统计信息查询可以接受返回统计数据的各种值,还有一个季节查询,用于指定我们要检索数据的季节。 如果我们要访问单季统计的2018 - 2019年一年中,我们可以通过传递统计值statsSingleSeason和季节值20182019这么做。
检索Zibanejad的统计信息和返回的JSON的完整端点:
https://statsapi.web.nhl.com/api/v1/people/8476459/stats?stats=statsSingleSeason&season=20182019
该请求返回一个stats数组,其中包含另一个名为splits的数组。 如果我们打开splits数组的第0个元素,其中包含属性季节和值“ 20182019”,则可以看到2018-2019季节的所有统计数据:
你有它。 我们已成功检索了Mika Zibanejad的信息以及他在2018-2019年期间的个人数据。 由于缺少NHL方面的文档,因此从API中查找和检索球员的统计信息可能有些繁琐。
查找任何球员统计信息的最简单方法是逐步浏览团队和花名册的端点,检索该特定球员的ID和链接 ,然后使用人员查询或统计信息查询发送有关其信息和统计信息的请求。 NHL在记录方面做得很糟糕,但是API处于活动状态,并且包含联盟中任何球员的最新数据。 开发人员可以利用这些数据进行大量有趣的项目,包括比较Web应用程序中的团队或球员统计数据,使用D3.js进行数据可视化,甚至通过使用API中的数据来计算更复杂的曲棍球统计数据统计信息,例如Corsi统计信息。
我已经用我用来撰写本文的示例代码创建了一个Github存储库,可以在这里查看。 我的示例使用React,Redux和Axios库,并且可以用作您自己的NHL统计相关项目的起点。
我还构建了这个小的Web应用程序,显示了示例API调用和返回的数据。
到此结束我有关使用Javascript从冰球诸神中获取统计数据的文章。
翻译自: https://hackernoon.com/retrieving-hockey-stats-from-the-nhls-undocumented-api-zz3003wrw
测听hl和nhl的区别