← Back to skills
extension
Category: Data & AnalyticsNo API key required

中国足球全景助手

中国足球整体大棋盘 + 专业战术分析 —— 三级联赛形势全景、赛前推演与赛中动态评估(战术天平/风险分级/多模板报告)、判罚规则科普,数据严格区分真实与预估。

personAuthor: user_2335aaa8hubcommunity

中国足球全景助手(china-football)

一个面向中文用户的足球数据技能:把中超 / 中甲 / 中乙三级联赛的积分榜、赛程、赛果, 以及中国足协官方公告、国字号队伍、亚洲赛事、青训与人才线索,收进一套可脚本化调用的入口里。

默认视角是「整体大棋盘」,不是某一支主队 —— 分区形势(争冠 / 亚冠席位 / 中游 / 保级)、 关键分差、近期走势一屏看完,再叠加政策、国字号与亚洲赛事。想单独盯某支队是可选项,不配置即可。

为什么做这个

查国内足球数据有个现实痛点:覆盖率和数据可信度两头不靠。

  • 球迷屋只覆盖中超,中甲、中乙查不到;
  • 直播吧、懂球帝偏资讯,结构化数据零散,且有反爬;
  • 各站点的积分榜多为前端动态渲染,静态抓取拿不到表格;
  • 中国联赛还有个特殊情况:纪律扣分(足协处罚会扣分),导致「积分 ≠ 3×胜+平」, 很多聚合站直接照抄就错了。

所以这个技能做了两件事:

  1. 找到唯一同时覆盖中超 + 中甲 + 中乙 + 足协杯 + 超级杯的免费源(LiveScore MCP), 用纯 Python 标准库直连,不需要申请 API Key,也不依赖任何 GUI 连接器信任弹窗。
  2. 内置一套机械校验规则,让「数据真不真」可以被程序验证,而不是靠信任上游。

特性

宏观:大棋盘(三级联赛全景)

| 能力 | 入口 | 说明 | |------|------|------| | 三级联赛「大棋盘」全景 | scripts/overview.py | 争冠/亚冠/中游/保级分区 + 关键分差 + 近 5 场走势,一屏看完 | | 三级联赛积分榜 / 赛程 / 赛果 | scripts/livescore_mcp.py | 免 Key,唯一全覆盖源,含近 5 场走势 | | 实时比分 / 单场详情 / 球队 / 球员 | scripts/livescore_mcp.py | 同一脚本的子命令 | | 全量刷新 + 落快照 + 校验 + 分区计算 | scripts/refresh.py | 断网可读、可对比变化、异常自动报出 | | 足协公告 / 处罚 / 集训 / 裁判选派 | scripts/cfa_notices.py | 官方一手来源,静态可抓 | | 三级联赛进度与官方文件 | scripts/leagues.py | 自动推算当前轮次 | | 亚洲赛事与竞争对手(日韩沙澳) | scripts/matches.py + WebFetch | 亚冠 / 世亚预 / 亚洲杯等 |

专业:单场战术分析(v2.0 新增)

| 能力 | 入口 | 说明 | |------|------|------| | 单场真实数据底稿 | scripts/matchdata.py | 事件流/阵容/裁判/走势/H2H/赔率,全部标来源 | | 赛前推演 / 赛中评估(战术天平) | scripts/tactics.py | 可解释天平:每个因子给分值+依据+数据性质 | | 多模板报告 + 双语切换 | scripts/report.py | 完整报告 / 观赛速记卡 / 对位清单 / 赛后复盘 | | 判罚规则库 | scripts/rules.py | 越位 / 红牌 / 点球 / 换人 / 外援政策 + VAR 说明 | | 战术分析方法论(给模型看的推理框架) | references/tactics-playbook.md | 数据边界、天平释读、风格克制、微观观察清单 | | 竞赛规则参考 | references/rules-library.md | 区分【规则】【政策】【口径】 |

三条硬性约束:❌ 不预测比分 | ✅ 持续区分推演与真实数据 | ✅ 保留精简输出。

数据性质四标注:【真实】数据源 | 【预估】模型推算 | 【待输入】需补充 | 【实时输入】赛中提供。

能力边界(刻意不越界):上游真实提供球队级技术统计(控球率、射门/射正、传球成功率、 角球、犯规、越位、扑救等 15 项 + 6 项派生)与球员级统计(出场分钟、赛后评分、进球、牌面)。 上游确实没有的是:xG/xT/xA、跑动距离、对抗成功率、抢断/拦截/解围/关键传球、 球员级传球数据、官方伤病名单 —— 这些本技能明确声明没有,而不是编造。

免依赖:只用 Python 标准库(urllib / json / threading),pip install 一个都不需要。

快速开始

# 环境:Python 3.9+(无第三方依赖)
PY="python"
S="<技能目录>/scripts"

# 【首选】中国足球大棋盘:三级联赛分区形势 + 关键分差(读快照,不联网)
"$PY" "$S/overview.py"
"$PY" "$S/overview.py" --refresh     # 先刷新再出全景
"$PY" "$S/overview.py" --notices     # 叠加足协最新公告
"$PY" "$S/overview.py" --json        # 机器可读

# 中超积分榜
"$PY" "$S/livescore_mcp.py" standings --league CSL

# 中甲 / 中乙 / 足协杯
"$PY" "$S/livescore_mcp.py" standings --league 中甲
"$PY" "$S/livescore_mcp.py" fixtures  --league 中乙

# 指定轮次赛果
"$PY" "$S/livescore_mcp.py" fixtures --league CSL --week 22

# 全量刷新三级联赛 → 落快照 + 校验
"$PY" "$S/refresh.py"

# 只校验已有快照(不联网)
"$PY" "$S/refresh.py" --check

# 足协最新公告
"$PY" "$S/cfa_notices.py" --category gfgg --limit 20

# ── 单场战术分析(v2.0)─────────────────────────────
# 真实数据底稿(事件流 / 阵容 / 裁判 / H2H / 赔率)
"$PY" "$S/matchdata.py" --match 3834091

# 赛前推演:战术天平 + 风险分级看板 + 因子明细
"$PY" "$S/tactics.py" --match 3834091

# 补隐性变量(体能 / 伤停 / 风格切换)
"$PY" "$S/tactics.py" --match 3834091 \
  --inputs '{"体能":{"主队":"疲劳","客队":"充足"},"风格":{"主队":"防守反击","客队":"高位压迫"}}'

# 赛中评估:实时更新天平 + 潜在调整(只统计截至当前分钟的事件)
"$PY" "$S/tactics.py" --match 3834091 --phase live --score "2-1" --minute 67

# 四套模板切换
"$PY" "$S/report.py" --match 3834091 --template card      # 观赛速记卡
"$PY" "$S/report.py" --match 3834091 --template matchup   # 对位清单
"$PY" "$S/report.py" --match 3834091 --template post      # 赛后复盘
"$PY" "$S/report.py" --match 3834091 --template full --level simple   # 小白版

# 判罚规则查询
"$PY" "$S/rules.py" --q "越位 点球 VAR"

支持的中超 / 中甲 / 中乙 league key:ChinaCSL、ChinaLeagueOne、ChinaLeagueTwo, 另含 ChinaFACup(足协杯)、ChinasuperCup(超级杯)。

大棋盘视角(默认)

不看某一支队的得失,看整盘棋:

| 分区 | 口径 | |------|------| | 争冠集团 | 距榜首 ≤ 6 分 | | 亚冠区 | 上游标注 AFC Champions 的席位区 | | 中游 | 其余球队 | | 保级区 | 上游标注 Relegation(无标注时取末 2 名) |

每区给出积分、场次、净胜球、近 5 场走势(胜/平/负计数),并算出距榜首与距安全线的分差, 最后用一句话总结关键悬念(榜首领先多少、降级区距安全线多少)。

refresh.py 会把同样的分区结果写进 refresh-report.json 的 board 字段,便于做定时任务与二次加工。

数据真实性怎么保证

refresh.py 每次刷新都会对积分榜跑一遍机械校验:

| 校验项 | 规则 | 失败含义 | |--------|------|---------| | 名次连续 | 1..N 无缺号 | 抓取截断 | | 场次自洽 | 胜+平+负 == 场次 | 字段错位 | | 净胜球自洽 | 进球-失球 == 净胜球 | 计算错误 | | 积分不超限 | 积分 ≤ 3×胜+平 | 数据异常 | | 积分不达标 | 积分 < 3×胜+平 | 记为纪律扣分(正常,单独列出) | | 积分降序 | 按积分降序 | 排序错误 | | 场次齐平 | 各队场次差 ≤ 2 | 轮次数据不全 |

每个快照都带 _meta.saved_at(抓取时间)、_meta.source(来源)、 standings_updated(上游自己标的时间),任何一条数据都能溯源。

项目结构

china-football/
├── SKILL.md                     # 技能主说明(能力表、数据源、工作流、输出规范)
├── LICENSE.md                   # MIT + 数据版权补充说明(GitHub 用可改名 LICENSE)
├── scripts/
│   ├── overview.py              # 【宏观首选】大棋盘全景(分区 / 分差 / 走势)
│   ├── livescore_mcp.py         # 三级联赛核心客户端(SSE over MCP)
│   ├── refresh.py               # 刷新 + 快照 + 校验 + 分区计算
│   ├── matchdata.py             # 【战术线】单场真实数据层(事件/阵容/裁判/H2H)
│   ├── tactics.py               # 【战术线】战术天平:赛前推演 / 赛中评估
│   ├── report.py                # 【战术线】四套模板 + 专业/小白双语
│   ├── rules.py                 # 【战术线】判罚规则库
│   ├── cfa_notices.py           # 中国足协官网公告
│   ├── leagues.py               # 三级联赛进度与官方文件
│   └── matches.py               # 亚洲赛事 / 竞争对手(球迷屋侧)
├── references/
│   ├── sources.md               # 数据源清单与实测结论
│   ├── tactics-playbook.md      # 【战术线】分析方法论(给模型看的推理框架)
│   ├── rules-library.md         # 【战术线】竞赛规则与判罚参考
│   └── youth-development.md     # 青训体系与中日韩对比
└── data/
    ├── profile.example.json     # 可选的个人配置模板(关注球队,不配置即无主队)
    └── snapshots/               # 运行时生成的快照(已 gitignore)

可选配置(默认无主队)

本技能默认就是无主队模式,全部功能开箱可用。只有当你想额外高亮某支队时才需要配置:

cp data/profile.example.json data/profile.json
# 编辑:{"main_team": "上海海港", "leagues": ["csl"]}

留空或不做这一步 = 无主队全景视角。data/profile.json 属个人配置,已加入 .gitignore。

作者与署名

  • 本项目由 @user_2335aaa8(SkillHub)独立创作,第一作者且唯一作者。
  • 著作权、署名权及全部收益归该作者独立所有,署名规则见 AUTHORS.md。
  • 采用 MIT 许可:可自由使用、修改、分发与商用,但须保留版权与作者声明,不得移除或替换署名。

数据来源

| 来源 | 覆盖 | 说明 | |------|------|------| | LiveScore MCP livescoremcp.com | 中超 / 中甲 / 中乙 / 足协杯 / 超级杯 | 主源,免 Key,覆盖最全 | | 中国足协官网 thecfa.cn | 公告 / 政策 / 处罚 / 集训 / 裁判选派 | 官方一手,权威度最高 | | 球迷屋 qiumiwu.com | 中超、亚冠、日韩沙澳 | 动态页,需 WebFetch | | 直播吧 / 懂球帝 / 亚足联官网 | 资讯与赛事补全 | 辅助源 |

关键数据建议多源对照;与官方不一致时以中国足协官方为准。

已知限制

宏观数据:

  • 中乙上游不提供积分榜(只有赛程与比分),因此中乙无排名数据可校验。
  • 球迷屋等站点为前端动态渲染,静态抓取拿不到表格,需走 WebFetch / 浏览器。
  • 不提供任何投注建议、玩法推荐或收益承诺。

战术分析(v2.1,刻意不越界的地方):

  • 上游真实提供单场技术统计(v2.1 修正):球队级 15 项原始字段(控球率、射门总数、射正、 射偏、被封堵、禁区内/外射门、传球总数/成功数、角球、犯规、越位、扑救、黄牌、红牌)
    • 6 项派生(传球成功率、射正率、射偏率、被封堵率、禁区内射门占比、射门转化率); 球员级出场分钟、赛后评分 rating、进球、牌面、造点、队长、替补。 可直接出「本场球员评分榜」。
  • 上游确实没有的:xG/xT/xA、跑动距离(中超官方每轮另发跑动榜,需人工带入)、 对抗/争顶成功率、抢断/拦截/解围/封堵/成功过人/关键传球/触球数、球员级传球数据、 官方伤病名单。本技能明确声明没有,而不是给一个看起来合理的数字。
  • 口径不可混用:球队统计的「黄牌」是全场黄牌次数(含两黄变一红的两张), 与事件流的「黄牌 N 张 + 两黄变一红 M 人」不是同一口径。
  • 外部渠道见 references/data-sources.md:11 个渠道的实测结论与合规分级, 一律先看清单、由使用者决定是否引入。
  • 球员姓名为上游原始写法(英文/拼音),不做音译猜测 —— 猜中文球员名属于编造信息。
  • 风格的克制矩阵属【预估】方法论框架,不是历史胜率统计,不得表述为「A 战术对 B 战术胜率 X%」。
  • 政策性条款不写死数字:换人名额、外援上场人数等以当季竞赛规程为准; 缓存政策数字在政策更新后会给出错误答案,比没有答案更糟。
  • 不预测比分。战术天平描述的是当前态势与结构优势,不是赛果。
  • 赛中评估的准确度取决于使用者提供的实时输入(比分/分钟/牌面/换人); 输入不全时只能给通用层面建议。

贡献

欢迎 PR。比较有价值的改进方向:

  • 补齐中乙球队中英文译名映射
  • 增加更多联赛的 league key 覆盖
  • 完善快照的「上次 vs 这次」差异对比输出
  • 补充青训 / 留洋相关的数据源

提交前请确认:不含个人信息、不含绝对路径、不含密钥。

付费与计费(Pay Skill)

本技能在 SkillHub 上以 Pay Skill(按调用量计费) 形式提供:

  • 单价:¥0.10 / 次(per_call,amount_fen: 10)
  • 一次命令执行且成功返回有效数据计 1 次;失败、无数据、帮助类调用不计费
  • 收款通道:支付宝 AI 按量计费(个人主体可开通)
  • 详细口径见 PRICING.md

代码本身仍是 MIT 开源:你可以自由使用、修改、自建部署这套脚本。 付费的是 SkillHub 上的托管调用服务(免部署、免维护、含数据刷新与校验)。

许可证

MIT(代码与文档)。数据版权归各原始来源方所有,补充说明见 LICENSE。