Dónde encontrar datos de programación XML de la NFL para 2020

Aug 16 2020

He estado extrayendo horarios de los datos xml de nfl usando los módulos nflgame y nfldb, sin embargo, noté que las URL generadas usando la siguiente función devuelven un error 404. ¿Alguien más ha experimentado esto recientemente y sabe por qué es así?

def schedule_url(year, stype, week):
    """
    Returns the NFL.com XML schedule URL. `year` should be an
    integer, `stype` should be one of the strings `PRE`, `REG` or
    `POST`, and `gsis_week` should be a value in the range
    `[0, 17]`.
    """
    xmlurl = 'http://www.nfl.com/ajax/scorestrip?'
    if stype == 'POST':
        week += 17
        if week == 21:  # NFL.com you so silly
            week += 1
    return '%sseason=%d&seasonType=%s&week=%d' % (xmlurl, year, stype, week)

schedule_url(2019, 'REG', 1)

Respuestas

2 chitown88 Aug 17 2020 at 07:31

nfl.com reestructuró su sitio y sus API. nflgame se basó en gran medida en eso, que ahora ya no funciona. Deberá encontrar una alternativa para obtener el calendario de la nfl, puntajes en vivo, actualizaciones, jugada por jugada, etc.

Sin embargo, puede obtener el horario desde los puntos finales de ESPN

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Mobile Safari/537.36'}
url = "http://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard"
payload = {'week':'1'}

jsonData = requests.get(url, headers=headers, params=payload).json()
1 Amor Sep 04 2020 at 00:02

Esto es lo que estoy usando para obtener puntajes ya que el anterior ya no funciona.

https://static.nfl.com/liveupdate/scorestrip/ss.xml

Utilice 'https://static.nfl.com/ajax/scorestrip?' o simplemente reemplace la parte www con estática y listo.

rswayz Sep 15 2020 at 12:27

Además, para juegos futuros, el nuevo formato de sitio es:

https://static.nfl.com/ajax/scorestrip?season=2020&seasonType=REG&week=2