2020 년 NFL XML 일정 데이터를 찾을 수있는 위치

Aug 16 2020

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 Aug 17 2020 at 07:31

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 Sep 04 2020 at 00:02

이것은 오래된 것이 더 이상 작동하지 않기 때문에 점수를 얻는 데 사용하는 것입니다.

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

'https://static.nfl.com/ajax/scorestrip?'사용 또는 www 부분을 정적으로 교체하면됩니다.

rswayz Sep 15 2020 at 12:27

또한 향후 게임의 경우 새 사이트 형식은 다음과 같습니다.

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