Dónde encontrar datos de programación XML de la NFL para 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
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()
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.
Además, para juegos futuros, el nuevo formato de sitio es:
https://static.nfl.com/ajax/scorestrip?season=2020&seasonType=REG&week=2