volleyball-data
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseVolleyball Data (Nevobo — Dutch Volleyball)
排球数据(Nevobo — 荷兰排球)
Before writing queries, consult for endpoints, ID conventions, and data shapes.
references/api-reference.md在编写查询之前,请查阅了解端点、ID规范和数据结构。
references/api-reference.mdSetup
安装配置
Before first use, check if the CLI is available:
bash
which sports-skills || pip install sports-skillsIf fails (package not found or Python version error), install from GitHub:
pip installbash
pip install git+https://github.com/machina-sports/sports-skills.gitThe package requires Python 3.10+. If your default Python is older, use a specific version:
bash
python3 --version # check version首次使用前,检查CLI是否可用:
bash
which sports-skills || pip install sports-skills如果失败(找不到包或Python版本错误),请从GitHub安装:
pip installbash
pip install git+https://github.com/machina-sports/sports-skills.git该包要求Python 3.10及以上版本。如果默认Python版本较低,请使用指定版本:
bash
python3 --version # 检查版本If < 3.10, try: python3.12 -m pip install sports-skills
如果版本 < 3.10,尝试:python3.12 -m pip install sports-skills
On macOS with Homebrew: /opt/homebrew/bin/python3.12 -m pip install sports-skills
在使用Homebrew的macOS系统上:/opt/homebrew/bin/python3.12 -m pip install sports-skills
No API keys required. All data comes from the Nevobo (Nederlandse Volleybalbond) open API.无需API密钥,所有数据均来自Nevobo(荷兰排球协会)的公开API。Quick Start
快速开始
Prefer the CLI — it avoids Python import path issues:
bash
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-aPython SDK (alternative):
python
from sports_skills import volleyball
standings = volleyball.get_standings(competition_id="nevobo-eredivisie-heren")
results = volleyball.get_results(competition_id="nevobo-eredivisie-dames")推荐使用CLI,可避免Python导入路径问题:
bash
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-aPython SDK(替代方案):
python
from sports_skills import volleyball
standings = volleyball.get_standings(competition_id="nevobo-eredivisie-heren")
results = volleyball.get_results(competition_id="nevobo-eredivisie-dames")CRITICAL: Before Any Query
重要提示:查询前须知
CRITICAL: Before calling any data endpoint, verify:
- The uses a valid value from
competition_id— never guess.references/competition-ids.md - For club-specific commands, you have a valid Nevobo (use
club_idto find one — theget_clubsfield).organisatiecode - Do NOT guess club IDs or competition IDs. Use or
get_competitionsto discover them.get_clubs
重要提示:调用任何数据端点前,请确认:
- 使用
competition_id中的有效值——绝对不要猜测。references/competition-ids.md - 对于俱乐部特定命令,你拥有有效的Nevobo (使用
club_id查找——对应get_clubs字段)。organisatiecode - 请勿猜测俱乐部ID或赛事ID,请使用或
get_competitions来获取。get_clubs
The competition_id
Parameter
competition_idcompetition_id
参数说明
competition_id8 leagues across the top 3 tiers of Dutch volleyball are pre-configured. The follows the pattern :
competition_idnevobo-<league>-<gender>[-<pool>]- Eredivisie (Tier 1, 8 teams): ,
nevobo-eredivisie-herennevobo-eredivisie-dames - Topdivisie (Tier 2, 10 teams/pool): ,
nevobo-topdivisie-heren-a,nevobo-topdivisie-heren-b,nevobo-topdivisie-dames-anevobo-topdivisie-dames-b - Superdivisie (Tier 3, 10 teams): ,
nevobo-superdivisie-herennevobo-superdivisie-dames
For lower divisions (1e/2e/3e Divisie, regional, youth, beach — 6,400+ poules), use to discover them.
get_poulesSee for the full reference with team counts and the Dutch volleyball pyramid.
references/competition-ids.md荷兰排球前三层级的8个联赛已预先配置。遵循的格式:
competition_idnevobo-<联赛名称>-<性别>[-<分组>]- Eredivisie(第1层级,8支球队):、
nevobo-eredivisie-herennevobo-eredivisie-dames - Topdivisie(第2层级,每组10支球队):、
nevobo-topdivisie-heren-a、nevobo-topdivisie-heren-b、nevobo-topdivisie-dames-anevobo-topdivisie-dames-b - Superdivisie(第3层级,10支球队):、
nevobo-superdivisie-herennevobo-superdivisie-dames
对于更低层级的联赛(1e/2e/3e Divisie、地区联赛、青年联赛、沙滩排球——超过6400个分组),请使用来查找。
get_poules请查阅获取包含球队数量和荷兰排球联赛体系的完整参考信息。
references/competition-ids.mdCommands
命令列表
| Command | Description |
|---|---|
| List all available competitions and leagues |
| League table (rank, team, matches, points) |
| Upcoming matches (teams, venue, date) |
| Match results (score, set-by-set scores) |
| List volleyball clubs (name, city, province) |
| Club's upcoming matches across all teams |
| Club's results across all teams |
| Browse Nevobo poules (for lower divisions discovery) |
| Tournament calendar |
| Federation news |
See for full parameter lists and return shapes.
references/api-reference.md| 命令 | 描述 |
|---|---|
| 列出所有可用的赛事和联赛 |
| 联赛排名表(排名、球队、比赛场次、积分) |
| 即将到来的比赛(球队、场地、日期) |
| 比赛结果(比分、局分) |
| 列出排球俱乐部(名称、城市、省份) |
| 俱乐部所有球队的即将到来的比赛 |
| 俱乐部所有球队的比赛结果 |
| 浏览Nevobo的分组(用于查找低层级联赛) |
| 赛事日历 |
| 协会新闻 |
请查阅获取完整的参数列表和返回数据结构。
references/api-reference.mdExamples
使用示例
Example 1: Eredivisie standings
User says: "What are the current Dutch volleyball standings?"
Actions:
- Call for men
get_standings(competition_id="nevobo-eredivisie-heren") - Call for women Result: League tables with rank, team name, matches played, and points
get_standings(competition_id="nevobo-eredivisie-dames")
Example 2: Recent match results
User says: "Show me recent Eredivisie volleyball results"
Actions:
- Call Result: Match results with home/away teams, match score (e.g. "3-1"), and set scores (e.g. ["25-21", "25-18", "21-25", "25-20"])
get_results(competition_id="nevobo-eredivisie-heren")
Example 3: Club schedule
User says: "What matches does LSV have coming up?"
Actions:
- Call and find LSV's organisatiecode (CKL5C67)
get_clubs(limit=10) - Call Result: Upcoming matches for all of LSV's teams with venues and dates
get_club_schedule(club_id="CKL5C67")
Example 4: Second tier standings
User says: "Show me the Topdivisie standings"
Actions:
- Call for men pool A
get_standings(competition_id="nevobo-topdivisie-heren-a") - Call for men pool B Result: Two pool tables with 10 teams each
get_standings(competition_id="nevobo-topdivisie-heren-b")
Example 5: Discover lower divisions
User says: "What divisions are available in Dutch volleyball?"
Actions:
- Call Result: List of national-level poules including 1e/2e/3e Divisie with their abbreviations and descriptions
get_poules(regio="nationale-competitie", limit=20)
示例1:Eredivisie排名
用户提问:“当前荷兰排球的排名情况如何?”
操作步骤:
- 调用获取男子组排名
get_standings(competition_id="nevobo-eredivisie-heren") - 调用获取女子组排名 结果:包含排名、球队名称、已赛场次和积分的联赛排名表
get_standings(competition_id="nevobo-eredivisie-dames")
示例2:近期比赛结果
用户提问:“展示最近的Eredivisie排球比赛结果”
操作步骤:
- 调用结果:包含主客场球队、比赛比分(如“3-1”)和局分(如["25-21", "25-18", "21-25", "25-20"])的比赛结果
get_results(competition_id="nevobo-eredivisie-heren")
示例3:俱乐部赛程
用户提问:“LSV接下来有哪些比赛?”
操作步骤:
- 调用并找到LSV的organisatiecode(CKL5C67)
get_clubs(limit=10) - 调用结果:LSV所有球队的即将到来的比赛,包含场地和日期信息
get_club_schedule(club_id="CKL5C67")
示例4:第二层级联赛排名
用户提问:“展示Topdivisie的排名情况”
操作步骤:
- 调用获取男子A组排名
get_standings(competition_id="nevobo-topdivisie-heren-a") - 调用获取男子B组排名 结果:两个各包含10支球队的分组排名表
get_standings(competition_id="nevobo-topdivisie-heren-b")
示例5:查找低层级联赛
用户提问:“荷兰排球有哪些低层级联赛?”
操作步骤:
- 调用结果:包含1e/2e/3e Divisie在内的全国性分组列表,及其缩写和描述
get_poules(regio="nationale-competitie", limit=20)
Commands that DO NOT exist — never call these
不存在的命令——请勿调用
— does not exist. Useget_scoreboardfor recent match results.get_results— does not exist. Volleyball usesget_rankingsfor league tables.get_standings— does not exist. Useget_team_rosterfor club information.get_clubs— does not exist. Player-level data is not available via this API.get_player_info
If a command is not listed in the Commands table above, it does not exist.
—— 不存在。如需近期比赛结果,请使用get_scoreboard。get_results—— 不存在。排球赛事使用get_rankings获取联赛排名表。get_standings—— 不存在。如需俱乐部信息,请使用get_team_roster。get_clubs—— 不存在。该API不提供球员级别的数据。get_player_info
如果某个命令未在上述命令列表中列出,则表示该命令不存在。
Error Handling
错误处理
When a command fails, do not surface raw errors to the user. Instead:
- Catch silently and try alternatives
- If a club name is given instead of ID, use to find the
get_clubsfirstorganisatiecode - If a competition_id returns no data, use to verify available leagues
get_competitions - Only report failure with a clean message after exhausting alternatives
当命令执行失败时,请勿向用户展示原始错误信息。请按以下步骤处理:
- 静默捕获错误并尝试替代方案
- 如果用户提供的是俱乐部名称而非ID,请先使用查找对应的
get_clubsorganisatiecode - 如果返回无数据,请使用
competition_id验证可用的联赛get_competitions - 仅在尝试所有替代方案后,向用户展示清晰的失败提示
Troubleshooting
故障排除
Error: command not found
Cause: Package not installed
Solution: Run . If not on PyPI, install from GitHub:
sports-skillspip install sports-skillspip install git+https://github.com/machina-sports/sports-skills.gitError: Standings returns empty list
Cause: The competition's regular season phase may have ended, or the season hasn't started yet
Solution: Use to check recent results, or to discover current active poule paths
get_resultsget_poulesError: Schedule returns 0 matches
Cause: The competition phase has completed and no more matches are scheduled for that poule
Solution: This is expected between season phases. Check other leagues (Topdivisie/Superdivisie may still be active)
Error: Club schedule/results returns error
Cause: The club_id may be incorrect
Solution: Use to find valid club IDs (the field, e.g. "CKL5C67")
get_clubsorganisatiecodeError: Connection errors or timeouts
Cause: The Nevobo API may be temporarily unavailable
Solution: Wait a moment and retry. The API is public and unauthenticated but may have brief outages
错误:命令未找到
原因:未安装该包
解决方案:运行。如果PyPI上没有该包,请从GitHub安装:
sports-skillspip install sports-skillspip install git+https://github.com/machina-sports/sports-skills.git错误:排名返回空列表
原因:该赛事的常规赛阶段可能已结束,或赛季尚未开始
解决方案:使用查看近期比赛结果,或使用查找当前活跃的分组路径
get_resultsget_poules错误:赛程返回0场比赛
原因:该分组的赛事阶段已结束,没有更多安排好的比赛
解决方案:这是赛季间隙的正常情况。可以查看其他联赛(Topdivisie/Superdivisie可能仍在进行中)
错误:俱乐部赛程/结果返回错误
原因:可能不正确
解决方案:使用查找有效的俱乐部ID(对应字段,例如"CKL5C67")
club_idget_clubsorganisatiecode错误:连接错误或超时
原因:Nevobo API可能暂时不可用
解决方案:稍等片刻后重试。该API是公开且无需认证的,但可能会出现短暂的中断