2020 için NFL XML Zamanlama Verileri nerede bulunur?

Aug 16 2020

Nflgame ve nfldb modüllerini kullanarak nfl xml verilerinden programları çekiyorum, ancak aşağıdaki işlevi kullanarak oluşturulan URL'lerin bir 404 hatası döndürdüğünü fark ettim. Son zamanlarda başka biri bunu deneyimledi ve bunun neden böyle olduğunu biliyor mu?

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)

Yanıtlar

2 chitown88 Aug 17 2020 at 07:31

nfl.com, sitesini ve API'lerini yeniden yapılandırdı. nflgame artık işe yaramayan buna büyük ölçüde güveniyordu. Nfl programını, canlı skorları, güncellemeleri, oyun oynamayı vb. Almak için bir alternatif bulmanız gerekecek.

Programı ESPN uç noktalarından alabilirsiniz

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

Eskisi artık çalışmadığı için puan almak için kullandığım şey bu.

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

'Https://static.nfl.com/ajax/scorestrip?' ya da www bölümünü statik ile değiştirin ve gitmeniz iyi olur.

rswayz Sep 15 2020 at 12:27

Ayrıca gelecekteki oyunlar için yeni site biçimi şu şekildedir:

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