我尝试了什么:
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):读超时。(阅读timeout=30)
发布于 2021-04-04 12:39:01
你好,
我已经调查过这个问题了,不能给出一个解决办法,但可以就此给你一个答复。
LeagueGameFinder提供了关于NBA比赛的各种统计信息。它在前进的道路上:
nba_api/docs/nba_api/stats/endpoint/
NBA的API。它是API的许多统计模块之一。
Github
analysis.json文件提供了关于NBA验证状态的概述。基于此,去年对端点进行了验证,并进行了工作。
然而,在这个项目的时候,API不起作用。Github用户讨论几种解决方案。
一个解决方案是更新。这对我没有用。另一项建议是围绕循环超时错误进行工作。这似乎不可行,可能会造成一个黑名单。解决方案可以是使API源代码适应服务器站点上的更改。这可能是一项重大的努力。此外,还不清楚错误是否依赖于代码,而是依赖。可能是由于未知的服务器站点原因,API将再次工作的情况。
一般来说,API是由社区维护的,也是由企业维护的,很容易出现故障,必须定期进行验证。随着数据提供者NBA的数据结构的改变,API应该被调整。这种情况并不总是如此,因为适应取决于社区。然后,服务器站点可以创建问题,客户端API站点无法解决这些问题.
https://stackoverflow.com/questions/66736607
复制相似问题