XC/TF Data(TFRRS — NCAA 越野跑与田径)是一个用于获取 NCAA 越野跑(XC)与田径(TF)运动员数据的工具,数据来源为 TFRRS(tfrrs.org)公开页面和 The Stride Report(thestridereport.com)的 RSS 新闻源。
用途 该工具面向需要查询 NCAA 越野跑与田径运动员信息、队伍名单、赛事结果和相关新闻的场景。
主要能力
- search_athlete:按姓名搜索当前队伍名单,返回 athlete_id、school 和 name 等 slug,供 get_athlete_profile 使用。自动搜索男女两个性别,仅限现役运动员;已毕业运动员需直接提供 TFRRS URL。
- get_athlete_profile:获取运动员姓名、学校、参赛资格、全部个人最好成绩(PR)以及完整的逐赛季比赛结果。
- get_team_roster:获取某支队伍的完整越野跑和/或田径名单。
- get_meet_results:获取 TFRRS 赛事的全部项目结果和团体得分。
- get_news:获取 The Stride Report 最近的越野跑/田径文章。
使用方式 安装:先检查 CLI 是否可用:which sports-skills || pip install sports-skills。若 pip 安装失败,可从 GitHub 安装:pip install git+https://github.com/machina-sports/sports-skills.git。要求 Python 3.10+,无需 API 密钥。
CLI(推荐): sports-skills xctf get_athlete_profile --athlete_id=9230145 --school=BYU --name=Jane_Hedengren sports-skills xctf get_news --limit=5
Python SDK: from sports_skills import xctf profile = xctf.get_athlete_profile(athlete_id="9230145", school="BYU", name="Jane_Hedengren")
关键要求:get_athlete_profile 的三个参数均为必填,且必须与运动员的 TFRRS URL 完全一致:https://www.tfrrs.org/athletes/{athlete_id}/{school}/{name}.html。其中 athlete_id 为数字 ID(如 9230145),school 为使用下划线而非空格的学校 slug(如 BYU),name 为运动员姓名 slug(如 Jane_Hedengren)。不要猜测 slug,应前往 tfrrs.org 找到该运动员并复制 URL。
适用场景
- 查询现役运动员的个人最好成绩(PR)。
- 查看某位跑者的越野跑赛季结果(可按日期筛选,如 2025 年秋季)。
- 获取某支队伍的当前名单。
- 获取某场赛事的全部项目结果和团体得分。
- 获取最新的大学田径新闻。
限制与注意事项
- 仅覆盖现役运动员;已毕业或转学的运动员搜索会返回空结果,需用户提供 TFRRS 页面 URL。
- TFRRS 会为越野跑和田径分别创建档案,若两者都存在,需分别获取两个 ID 才能得到完整 PR。
- 越野跑赛事 URL 形如 tfrrs.org/results/xc/28714/Gans_Creek_Classic,需传入 sport="xc";越野跑 ID 使用独立区间,若不传 sport="xc" 会返回不相关的田径赛事(会在 warnings 中标记)。
- 不存在的命令:get_team_rankings、search_athletes、fetch_news 均不存在,正确命令分别为(无排名命令)、search_athlete、get_news。
- 错误处理:命令失败时不应向用户展示原始错误,而应确认参数是否与 TFRRS URL 完全一致(区分大小写),或提示 The Stride Report 可能暂时不可用。
- 连接错误或超时时,TFRRS 可能暂时不可用;请求会自动限速为每秒 1 次,可稍后重试。
- 常见问题:sports-skills 命令未找到需重新安装;运动员档案 HTTP 404 表示 school 或 name slug 与 TFRRS URL 不完全一致;prs 返回空字典可能因档案页面较新或结构不同;search_athlete 返回空匹配通常表示运动员已毕业或转学;get_meet_results 无事件可能因 meet_id 或 slug 错误;get_news 失败可能因 RSS 源暂时不可用。
更多参数细节和返回结构请参阅 references/api-reference.md。