Où trouver les données de planification XML NFL pour 2020
J'ai extrait les horaires des données xml nfl à l'aide des modules nflgame et nfldb, mais j'ai remarqué que les URL générées à l'aide de la fonction ci-dessous renvoient une erreur 404. Est-ce que quelqu'un d'autre a vécu cela récemment et sait pourquoi c'est le cas?
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)
Réponses
nfl.com a restructuré son site et ses API. nflgame s'est fortement appuyé sur cela, qui ne fonctionne plus. Vous devrez trouver une alternative pour obtenir le calendrier de la nfl, les scores en direct, les mises à jour, le jeu par jeu, etc.
Vous pouvez obtenir le calendrier à partir des points de terminaison 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()
C'est ce que j'utilise pour obtenir des scores puisque l'ancien ne fonctionne plus.
https://static.nfl.com/liveupdate/scorestrip/ss.xml
Utilisez 'https://static.nfl.com/ajax/scorestrip?' ou remplacez simplement la partie www par statique et vous êtes prêt à partir.
Aussi, pour les futurs jeux, le nouveau format du site est:
https://static.nfl.com/ajax/scorestrip?season=2020&seasonType=REG&week=2