Nơi tìm Dữ liệu lịch biểu XML NFL cho năm 2020

Aug 16 2020

Tôi đã kéo lịch trình từ dữ liệu nfl xml bằng mô-đun nflgame và nfldb, tuy nhiên tôi nhận thấy rằng các URL được tạo bằng cách sử dụng hàm bên dưới trả về lỗi 404. Có ai khác đã trải qua điều này gần đây và biết tại sao lại như vậy không?

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)

Trả lời

2 chitown88 Aug 17 2020 at 07:31

nfl.com đã cấu trúc lại trang web và các API của họ. nflgame chủ yếu dựa vào đó, giờ không còn hoạt động nữa. Bạn sẽ cần phải tìm một giải pháp thay thế để nhận lịch thi đấu nfl, tỷ số trực tiếp, cập nhật, từng lượt chơi, v.v.

Bạn có thể nhận được lịch trình từ các điểm cuối 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

Đây là những gì tôi đang sử dụng để đạt được điểm số vì cái cũ không hoạt động nữa.

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

Sử dụng 'https://static.nfl.com/ajax/scorestrip?' hoặc chỉ cần thay thế phần www bằng static và bạn đã sẵn sàng.

rswayz Sep 15 2020 at 12:27

Ngoài ra, đối với các trò chơi trong tương lai, định dạng trang web mới là:

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