一个轻量级的、动态的python客户端,从stats.nba.com中提取nba数据。
dlo的Python项目详细描述
dlo是一个轻量级的动态python客户端,用于从stats.nba.com中提取nba数据。
概述
此客户端利用stats.nba.com API中的错误消息来:
- 检查传递的参数是否有效
- 检查终结点是否有效或可能已弃用
- 返回端点的参数列表
- 返回任何参数的可能值列表,以及是否需要终结点
- 如果未给定,则使用默认值自动传递所需参数
在给定此客户端的可能端点的情况下,可以构建api的文档。
灵感来自nba_py。
安装
# stable version pip install dlo # latest version git clone https://github.com/avkondepudi/dlo.git cd ./dlo pip install .
用法
可以找到终结点列表here。id(playerid、gameid等)可以在stats.nba.com上找到。
>>>fromdloimportData# import module>>>LOCAL={# set local parameters..."PlayerID":1626156,..."Season":"2018-19",..."SeasonType":"Regular Season"...}>>>d=Data(**LOCAL)# create instance of Data class with local parameters>>>d.local=LOCAL# another way to pass local parameters (recommended; deletes previous local parameters)>>>d.local# returns local parameters passed{"PlayerID":1626156,"Season":"2018-19","SeasonType":"Regular Season"}>>>d.endpoint="playergamelog"# set endpoint>>>d.endpoint# returns current endpoint"playergamelog">>>d.getEndpointParams()# returns list of parameters for current endpoint['PlayerID','Season','SeasonType']>>>d.getParamInfo("SeasonType")# returns list of values for parameter and whether required{'regex':'^(Regular Season)|(Pre Season)|(Playoffs)|(All-Star)|(All Star)$','values':['Regular Season','Pre Season','Playoffs','All-Star','All Star'],'required':True}>>>d.getParam("Season")# returns parameter value if passed"2018-19">>>d.removeParam("Season")# value for Season (2018-19) removed>>>d.setParam("Season","2018-19")# two ways to set/add parameters>>>d.Season="2018-19">>>data=d.getData()# returns data (game log of D'Angelo Russell for the 2018-19 Regular Season)>>>data_in_pandas_format=d.getData(pandify=True)