ESPN API показывает только 25 лучших результатов по баскетболу в колледже

#python #api #espn

Вопрос:

я использую api endpoint’http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard’. Он возвращает только игры для 25 лучших команд. Есть идеи, как получить все результаты 1-го дивизиона? URL для этого https://www.espn.com/mens-college-basketball/scoreboard/_/group/50 .

Ответ №1:

Вам нужно передать дополнительные параметры, так как по умолчанию используется только 25 лучших результатов. Группа для дивизиона 1 выглядит так '50' , и вы также хотите увеличить лимит по умолчанию:

 import requests

url = 'http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard'
payload = {
'limit':'500',
'groups':'50'}

jsonData = requests.get(url, params=payload).json()
 

Вывод:

 import pandas as pd

df = pd.json_normalize(jsonData['events'])
print (df)
           id  ... status.type.altDetail
0   401372032  ...                    OT
1   401372250  ...                   NaN
2   401372164  ...                   NaN
3   401371979  ...                   NaN
4   401369851  ...                   NaN
..        ...  ...                   ...
94  401371252  ...                   NaN
95  401371195  ...                   NaN
96  401373366  ...                   NaN
97  401371131  ...                   NaN
98  401372198  ...                   NaN

[99 rows x 21 columns]