SuperAPI AI 工具集

volleyball-data

数据与分析

查看项目

更新于 10-15 09:22

技能介绍

用途

volleyball-data 用于获取荷兰排球(Nevobo,即 Nederlandse Volleybalbond 荷兰排球协会)的公开数据。所有数据来自 Nevobo 开放 API,无需 API 密钥。该技能覆盖荷兰排球金字塔体系,包括顶级联赛和低级别联赛。

主要能力

该技能提供以下命令:

  • get_competitions:列出所有可用赛事和联赛
  • get_standings:联赛积分榜(排名、球队、场次、积分)
  • get_schedule:即将进行的比赛(球队、场地、日期)
  • get_results:比赛结果(比分、逐局比分)
  • get_clubs:列出排球俱乐部(名称、城市、省份)
  • get_club_schedule:俱乐部所有球队的即将进行的比赛
  • get_club_results:俱乐部所有球队的比赛结果
  • get_poules:浏览 Nevobo 小组(用于发现低级别联赛)
  • get_tournaments:赛事日历
  • get_news:协会新闻

预配置了荷兰排球前三个级别的 8 个联赛,competition_id 遵循 nevobo-<league>-<gender>[-<pool>] 模式:

  • Eredivisie(第 1 级,8 支球队):nevobo-eredivisie-heren、nevobo-eredivisie-dames
  • Topdivisie(第 2 级,每组 10 支球队):nevobo-topdivisie-heren-a、nevobo-topdivisie-heren-b、nevobo-topdivisie-dames-a、nevobo-topdivisie-dames-b
  • Superdivisie(第 3 级,10 支球队):nevobo-superdivisie-heren、nevobo-superdivisie-dames

对于更低级别联赛(1e/2e/3e Divisie、地区、青年、沙滩——超过 6,400 个小组),可使用 get_poules 发现。

使用方式

安装

首次使用前,检查 CLI 是否可用:

which sports-skills || pip install sports-skills

如果 pip install 失败(找不到包或 Python 版本错误),从 GitHub 安装:

pip install git+https://github.com/machina-sports/sports-skills.git

该包需要 Python 3.10+。如果默认 Python 版本较旧,请使用特定版本:

python3 --version # 检查版本

如果 < 3.10,尝试:python3.12 -m pip install sports-skills

在 macOS 上使用 Homebrew:/opt/homebrew/bin/python3.12 -m pip install sports-skills

快速开始

推荐使用 CLI,可避免 Python 导入路径问题:

sports-skills volleyball get_competitions sports-skills volleyball get_standings --competition_id=nevobo-eredivisie-heren sports-skills volleyball get_results --competition_id=nevobo-eredivisie-dames sports-skills volleyball get_schedule --competition_id=nevobo-topdivisie-heren-a

Python SDK(替代方式):

from sports_skills import volleyball

standings = volleyball.get_standings(competition_id="nevobo-eredivisie-heren") results = volleyball.get_results(competition_id="nevobo-eredivisie-dames")

查询前的重要事项

在调用任何数据端点之前,请确认:

  • competition_id 使用 references/competition-ids.md 中的有效值,切勿猜测。
  • 对于俱乐部相关命令,需要有效的 Nevobo club_id(使用 get_clubs 查找,organisatiecode 字段)。
  • 不要猜测俱乐部 ID 或赛事 ID。使用 get_competitions 或 get_clubs 发现它们。

不存在的命令

以下命令不存在,切勿调用:

  • get_scoreboard——不存在。使用 get_results 获取近期比赛结果。
  • get_rankings——不存在。排球使用 get_standings 获取联赛积分榜。
  • get_team_roster——不存在。使用 get_clubs 获取俱乐部信息。
  • get_player_info——不存在。此 API 不提供球员级别数据。

如果命令未在上方命令表中列出,则它不存在。

适用场景

  • 查询荷兰排球 Eredivisie、Topdivisie、Superdivisie 的积分榜、赛程和比赛结果
  • 查找荷兰排球俱乐部信息及其所有球队的赛程和结果
  • 发现低级别联赛(1e/2e/3e Divisie、地区、青年、沙滩)的小组
  • 获取赛事日历和协会新闻

限制

  • 仅限当前赛季。Nevobo 会移除过去赛季的小组和导出数据,因此 get_standings、get_schedule 和 get_results 始终覆盖当前赛季。其可选的 season 参数("2026-2027" 或 2026)对其他赛季会返回明确错误。
  • 尚无日期的比赛 date 为 null;取消的比赛带有 status: "vervallen"。
  • 不提供球员级别数据。
  • 需要 Python 3.10+。
  • 数据来自 Nevobo 公开 API,可能偶尔出现短暂中断。

错误处理

当命令失败时,不要向用户展示原始错误。应:

  • 静默捕获并尝试替代方案
  • 如果给出的是俱乐部名称而非 ID,先使用 get_clubs 查找 organisatiecode
  • 如果 competition_id 返回无数据,使用 get_competitions 验证可用联赛
  • 仅在穷尽替代方案后,以简洁消息报告失败

故障排除

  • 错误:sports-skills 命令未找到。原因:包未安装。解决:运行 pip install sports-skills。如果不在 PyPI 上,从 GitHub 安装:pip install git+https://github.com/machina-sports/sports-skills.git
  • 错误:积分榜返回空列表。原因:该赛事的常规赛阶段可能已结束,或赛季尚未开始。解决:使用 get_results 检查近期结果,或使用 get_poules 发现当前活跃的小组路径。
  • 错误:赛程返回 0 场比赛。原因:该赛事阶段已完成,该小组没有更多比赛安排。解决:这在赛季阶段之间是正常的。检查其他联赛(Topdivisie/Superdivisie 可能仍活跃)。
  • 错误:俱乐部赛程/结果返回错误。原因:club_id 可能不正确。解决:使用 get_clubs 查找有效俱乐部 ID(organisatiecode 字段,例如 "CKL5C67")。
  • 错误:连接错误或超时。原因:Nevobo API 可能暂时不可用。解决:稍等片刻后重试。该 API 是公开且无需认证的,但可能有短暂中断。