【问题标题】:Connection Timeout error is thrown while using leaguegamefinder of nba_api.stats.endpoints library使用 nba_api.stats.endpoints 库的 Leaguegamefinder 时引发连接超时错误
【发布时间】:2021-06-18 12:58:24
【问题描述】:

我尝试了什么:

from nba_api.stats.static import teams
from nba_api.stats.endpoints import leaguegamefinder
import pandas as pd

nba_teams = teams.get_teams()

def one_dict(list_dict):
    keys = list_dict[0].keys()
    out_dict = {key:[] for key in keys}
    for d in list_dict:
        for key,value in d.items():
            out_dict[key].append(value)
    return out_dict
dict_nba_team = one_dict(nba_teams)
df = pd.DataFrame(dict_nba_team)
search_id = list(df[df['nickname']=='Hawks']['id'])[0]
gamefinder = leaguegamefinder.LeagueGameFinder(team_id_nullable = search_id)
games = gamefinder.get_data_frames()[0]
games.head()

错误:

ReadTimeout:HTTPSConnectionPool(host='stats.nba.com', port=443):读取超时。 (读取超时=30)

【问题讨论】:

  • 对我来说效果很好。你需要使用这个包。如果没有这个包装器,你可以浏览 stats.nba.com 吗?

标签: python ibm-watson nba-api


【解决方案1】:

你好,
我已经研究了这个问题,无法提供解决方案,但可以给你一个答案。

LeagueGameFinder 提供有关 NBA 比赛的各种统计信息。它在路径中:
nba_api/docs/nba_api/stats/endpoints/
NBA API.它是 API 的众多统计模块之一。
Github

文件 analysis.json 概述了 NBA API 的验证状态。据此,端点已于去年得到验证并有效。

然而,在这个项目的时候,API 不起作用。 Github 用户讨论了几种解决方案。

一种解决方案是更新。这对我不起作用。 另一个建议是通过循环解决超时错误。这似乎不可行,可能会创建黑名单。解决方案可能是使 API 源代码适应服务器站点上的更改。这可能是一项巨大的努力。此外,不清楚错误是否依赖于代码,而是依赖于系统管理员。由于未知的服务器站点原因,API 可能会再次工作。

一般来说,由社区和企业维护的 API 容易出现功能障碍,必须定期进行验证。随着数据提供者 NBA 的数据架构发生变化,应调整 API。情况并非总是如此,因为适应依赖于社区。然后,服务器站点可以创建客户端 API 站点无法解决的问题。

【讨论】:

    猜你喜欢
    • 2018-07-24
    • 2020-02-07
    • 1970-01-01
    • 2020-02-10
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    相关资源
    最近更新 更多