2020 년 NFL XML 일정 데이터를 찾을 수있는 위치
nflgame 및 nfldb 모듈을 사용하여 nfl xml 데이터에서 일정을 가져 왔지만 아래 함수를 사용하여 생성 된 URL이 404 오류를 반환하는 것으로 나타났습니다. 다른 사람이 최근에 이것을 경험하고 왜 그런지 알고 있습니까?
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)
답변
2 chitown88
nfl.com은 사이트와 API를 재구성했습니다. nflgame은 더 이상 작동하지 않는 그것에 크게 의존했습니다. nfl 일정, 라이브 스코어, 업데이트, 플레이 별 플레이 등을받을 수있는 대안을 찾아야합니다.
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
이것은 오래된 것이 더 이상 작동하지 않기 때문에 점수를 얻는 데 사용하는 것입니다.
https://static.nfl.com/liveupdate/scorestrip/ss.xml
'https://static.nfl.com/ajax/scorestrip?'사용 또는 www 부분을 정적으로 교체하면됩니다.
rswayz
또한 향후 게임의 경우 새 사이트 형식은 다음과 같습니다.
https://static.nfl.com/ajax/scorestrip?season=2020&seasonType=REG&week=2