今日竞足分析报告生成器
一句话触发,全自动产出当日竞足分析报告。
触发方式
- 手动:用户说「形成今日报告」「生成今天的竞足分析」「出个今天的足彩报告」→ 执行下方工作流。
- 定时:由 automation-task-manager 注册的定时任务调用(见文末)。
不适用范围
- 给出"该买多少"的下注金额建议、资金管理方案。
- 非足球博彩领域。
> 本技能产出的是基于方法论的判断报告(给倾向与信心等级),不是必胜预测,也不是投注建议。
> 是否参考、如何运用由用户自行决定,本技能不承担任何投注结果责任。
工作流(严格按序执行)
Step 1 · 抓取双源数据(自动)
python3 scripts/daily_report.py --out /tmp/今日竞足报告.md --top 8 --limit 40
该脚本内部自动完成:
1. 调 scripts/fetch_matches.py 抓中国体彩网官方接口 → 今日竞足赛程、对阵、胜平负/让球/总进球/比分/半全场赔率、两队排名;
2. 调 scripts/compute.py 换算 → 隐含概率(扣水钱)、理论亚盘盘口区间;
3. 调 scripts/okooo_fetch.py 抓澳客网 m.okooo.com → 真实欧赔(约52家)+ 真实亚盘(约25家,含初盘/即时水位);
4. 调 scripts/analyze.py 合并双源 → 盘赔差异、造热方向、公司共识(用 companies.py 还原打码公司名);
5. 调 scripts/judge.py 对全部场次做方法论判断(见 Step 2);
6. 组装 Markdown 报告(含"判断结论/逐场依据"节 + "基本面/方法论推演"两节占位)。
若抓取失败:读脚本输出的错误 → 检查出网(curl -s -o /dev/null -w "%{http_code}" https://webapi.sporttery.cn 或 https://m.okooo.com)。任一源失败会自动降级(澳客失败则退回纯官方换算),接口变动时如实告知用户,不编造数据。
> ⚠ 澳客 WAF 限流(重要):m.okooo.com 有阿里云 WAF,短时间高频请求会被限流,返回 ~16KB 的空壳页(含 aliyun_waf_aa meta、无 matchtable)。脚本已内置"内容校验 + 重试":仅当页面 >阈值(赛程页 8K、比赛页 20K)才接受。若仍拿不到完整页,不要连续猛刷(会加重限流),改为:
> - 等待数分钟后重试;
> - 或用 --ingest-okooo <已抓好的 okooo JSON> 复用旧数据;
> - 或用 --from-merged <merged_analysis.json> 直接从已完成的合并结果重出报告(不抓取)。
>
> 双源分工:体彩官方给「竞彩玩法赔率」;澳客给「真实亚盘水位」——书里的冷热度/盘赔差异/公司对比都依赖后者。
> 抓取上限:--limit 40(默认已是 40)。当日场次多时上限若偏低会导致澳客匹配不全;出现"无真实亚盘"多场时,提高 --limit 重跑。
Step 2 · 生成方法论判断(自动,核心)
judge.py 依据《足球财富》能力卡,按依赖顺序对每一场投票并给出倾向 + 信心等级:
盘型定位法(理论盘口)→ 盘赔差异法(造热方向 & 成败)→ 冷热度矩阵(开大/开小/适中 × 受热)→ 盘路动态三型(给水/阻上/诱上)→ 公司横向共识(升/降盘分歧)→ 汇总投票。
输出形态(严格遵循用户确认的三条规格):
- 倾向:主队 / 客队 / 主队不败 / 客队不败 / 平局 / 无法判断;
- 信心等级:★★★强(多信号共振+有理论盘)/ ★★中 / ★弱 / —无法判断;
- 能断则断,不能断则明说:以下情形明确标注无法判断并说明缺什么,绝不硬编——
1. 方法内部两解(主客票数相同;书原则「不一致则放弃该场」);
2. 各信号均无方向(盘口水位平稳、公司分歧、无开大/开小偏离);
3. 深盘(球半/两及以上,欧亚换算失去精算意义);
4. 缺真实亚盘(仅有理论盘,缺程序三/四输入)。
- 覆盖全部场次:每场都写判断依据(引用具体能力卡),弱信号附"不宜重仓"警示。
Step 3 · 联网补基本面(自动)
对 Step 1 挑出的重点场次(默认 8 场),联网检索并补入报告第六节:
- 近期战绩(近 5–6 场)、主客场表现
- 伤停/停赛名单
- 赛程密度(是否有欧战/杯赛双线)
- 历史交锋记录
- 联赛背景(该联赛大小球属性、当前阶段)
用 WebSearch 逐场或批量检索。只写检索到的内容,检索不到就标注"未获取",不要编造。
Step 4 · 方法论推演补充(自动)
judge.py 已自动产出全部场次的判断(Step 2)。本步在其基础上,对重点场次补写一段
连贯的推演叙述(补入报告第七节),可按需加载 football-odds-asia-handicap 能力卡深化:
- 基本面 → 用 Step 3 的结果;
- 理论盘口 → 官方赔率换算出的理论盘口(Step 1);
- 冷热度 → 真实初盘 vs 理论盘的偏离,加载
heat-cold-analysis; - 欧亚对比 → 真实亚盘 vs 理论盘,加载
odds-handicap-conversion/odds-handicap-difference。
每场叙述必须包含:
- 依据(引到具体能力卡或书中逻辑)
- 边界(该结论在什么条件下会失效,见各卡的 B 段)
- 若涉及方向性倾向,附"非投注建议"声明
遵守 football-odds-asia-handicap 的检查点:信息不足时先给能确定的部分、再列缺口;
同一形态两解时并列呈现、请用户补充题材信息收敛。
Step 5 · 输出报告
把填好的完整报告写到用户可访问的位置:
- 默认:/workspace/今日竞足报告_YYYY-MM-DD.md
- 同时用 present_files 打开给用户看。
报告结构固定为七节:
1. 今日概览(场次数、联赛分布)
2. 判断结论(倾向 + 信心等级)——全量场次判断表 + 逐场判断依据
3. 重点场次:理论盘口 vs 真实亚盘
4. 公司横向共识(澳客网)
5. 全部场次官方赔率换算
6. 基本面补充(联网)
7. 方法论推演(football-odds-asia-handicap 四步程序)
8. 免责与边界
Step 6 · 判停
- 官方接口无今日比赛 → 告知"今日无竞足赛程",正常结束,不编造。
- 联网检索大量失败 → 输出已有部分,明确标注哪些场次基本面未获取。
- 用户追问"到底买哪个" → 停下,说明报告是方法论推演、不构成投注建议。
数据源与合规
| 数据 | 来源 | 状态 |
|---|---|---|
| 赛程/对阵/官方赔率/排名 | 中国体彩网官方接口 webapi.sporttery.cn |
✅ 已验证可用 |
| 真实亚盘(初盘/即时水位) | 澳客网 m.okooo.com/match/handicap.php?MatchID=<id> |
✅ 已验证:24场全成功,约25家/场 |
| 真实欧赔(多公司) | 澳客网 m.okooo.com/match/odds.php?MatchID=<id> |
✅ 已验证:约52家/场 |
| 基本面(战绩/伤停/交锋) | 联网搜索 | ✅ |
| 澳门彩票/球探网直连 | 不采用直爬(403/连不上 + 版权灰区) | ⚠️ 澳客网公开页替代 |
> 澳客网页面声明 UTF-8 但实际为 GB18030,脚本已按 GB18030 解码;公司名被打码(如 澳**票),由 companies.py 还原并分级。
边界与限制(如实告知用户)
- 沙箱休眠:定时任务在沙箱休眠时不会执行;想稳定每日产报,建议每天主动说一句"形成今日报告"。
- 官方让球盘非全量:竞彩让球玩法只对部分场次开放,缺失场的理论盘口为区间参考。
- 联网检索质量:基本面依赖公开信息,可能有滞后或缺失,报告中会标注。
- 本报告不构成任何投注建议,书中方法统计上不可验证。
依赖
football-odds-asia-handicap技能(提供方法论能力卡)——须已安装。scripts/下脚本:fetch_matches.py(体彩官方)、compute.py(换算)、okooo_fetch.py(澳客真实欧亚)、analyze.py(双源合并+方法论量化)、companies.py(公司名反打码)、judge.py(方法论判断引擎:倾向+信心等级)。