如何使用Python的MLB-StatsAPI查询球队过往5场比赛数据?
实现方案
首先确保你已正确安装MLB-StatsAPI库:pip install MLB-StatsAPI
方案1:使用statsapi.schedule接口(补充正确参数即可满足需求)
你之前调用该接口没有得到预期结果,大概率是缺少筛选已结束赛事、时间范围的参数,正确调用示例如下:
import statsapi def get_recent_5_games(team_id: int): # 参数说明: # team: 目标球队ID # endDate: 拉取截至当前日期的赛事,排除未进行的比赛 # status='F': 仅筛选已结束(Finished)的比赛 all_finished_games = statsapi.schedule( team=team_id, endDate=statsapi.get_current_date(), status='F' ) # 按比赛日期倒序排列,取最近5场 recent_5 = sorted(all_finished_games, key=lambda x: x['game_date'], reverse=True)[:5] return recent_5
如果不知道目标球队的ID,可以通过statsapi.lookup_team('球队英文名/缩写')查询,比如查询纽约洋基队ID:statsapi.lookup_team('Yankees')
方案2:使用statsapi.team_game_log接口(更适配比赛日志查询场景)
这个接口是专门用于获取球队赛季比赛日志的,返回结果默认按比赛时间从新到旧排序,无需手动排序,调用更简单:
import statsapi def get_recent_5_games(team_id: int, season: int = 2024): # 直接获取球队赛季全部比赛日志,默认按时间倒序 game_log = statsapi.team_game_log(teamId=team_id, season=season) # 取前5条即为最近结束的5场比赛 return game_log[:5]
返回的单场比赛数据包含比赛日期、对阵双方、比分、胜负记录、关键球员数据等完整信息,可直接按需取用。
内容的提问来源于stack exchange,提问作者user15569150
相关产品推荐
相关产品推荐

