Nơi tìm Dữ liệu lịch biểu XML NFL cho năm 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
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()
Đâ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.
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