首页
看点啥
插画图片
首页 科技看点 fanta-carbonara:实践指南

fanta-carbonara:实践指南

2026-10-05 0

工作中遇到相关需求时,fanta-carbonara值得先读说明,因为它主要用于梦幻足球联赛的数据管道和决策支持:球员数据、预计阵容、比赛统计数据、拍卖跟踪和阵容推荐。一旦进入数据与知识处理环节,数据结构、更新策略和可追溯性会决定结果是否可信会直接影响交付,这也是我最关心的风险。我建议用一份规模可控且答案已知的数据集试跑,重点记录模式兼容、增量更新、查询结果和来源追踪,再与现有方案比较。编辑判断上,需要保留数据来路与变更记录的使用者可以优先研究它;其他团队不必为了热门标签勉强接入。

FynePool/fanta-carbonara 项目截图 1

芬达 Carbonara

Assistente 经典梦幻足球联赛的数据:名单、成绩、联赛赛程表以及来自 formazione. 的建议 与 Claude Code. 一起通过语音进行驾驶

它是什么(以及它不是什么)

leghe.fantacalcio.it 上的 12 队联赛,模式 经典,500 学分,玫瑰 3P-8D-8C-6A。该存储库包含该联赛的数据,并且 用它们来回答两个问题:今天我支持谁和它值多少钱 本次交流。

季初拍卖已完成(2026 年 9 月)。从此源 Rose 是真正的联盟:存储库每天早上都会从 leghe.fantacalcio.it 重读它们,以及 学分、对阵时间表和结果,而不是手写下来。

只有一条规则将整个项目结合在一起:

丢失的数据仍然丢失。从来没有估计的成绩,从来没有推断的状态, 从来没有一个猜到的日子。如果来源没有它,脚本会这样说并停止。

它的双胞胎:历史永远不会变短。投票或结果已保存 它不会因为来源不再显示或者因为玩家被出售而消失 国外:尝试的脚本拒绝编写。

这看起来很迂腐,直到你发现你的统计数据源将一名球员 罗马-国际米兰记分牌上的利物浦队 (→ .docs/bigballs-api.md)。

数据如何移动

flowchart LR
    subgraph fonti[" Fonti esterne"]
        FC["fantacalcio.it
listone, voti, probabili,
squalificati"]
        FD["FantaDraft
infortuni"]
        BB["BigBalls API
calendario + box score"]
        LF["leghe.fantacalcio.it
rose, crediti, calendario
e risultati della lega"]
    end

    subgraph scripts["⚙ Import (ogni mattina)"]
        I1["import_listone_fc.py
import_fantadraft.py"]
        I2["import_voti.py"]
        I3["import_calendario_seriea.py
import_matchday_stats.py"]
        I4["scrape_formazioni.py
scrape_squalifiche.py
apply_formazioni_status.py
salva_status_scadenza.py"]
        I5["import_rose_lega.py
import_calendario_lega.py"]
    end

    subgraph dati[" data/ (JSON in git)"]
        P["players.json
599 giocatori"]
        S["status_scadenze.json
status prima di ogni scadenza"]
        M["matchday_stats.json
storico voti e statistiche"]
        C["calendario_serie_a.json
380 partite"]
        O["teams.json + ownership.json
12 squadre, 300 giocatori"]
        L["lega_competizioni.json
calendario e risultati"]
    end

    subgraph out[" Output"]
        R["report_formazione.py
formazione consigliata"]
    end

    FC --> I1 --> P
    FD --> I1
    FC --> I2 --> M
    FC --> I4 --> P & S
    BB --> I3 --> C & M
    LF --> I5 --> O & L
    P & O & M & C --> R

快速入门

pip install -r requirements.txt
export BIGBALLS_API_KEY=... LEGHE_FC_USERNAME=... LEGHE_FC_PASSWORD=...

# Il giro completo, nell'ordine giusto, è la skill aggiorna-dati. A mano:
python3 scripts/import_listone_fc.py                       # listone (fantacalcio.it)
python3 scripts/import_fantadraft.py                       # infortuni
python3 scripts/import_rose_lega.py --league-id 923348     # rose e crediti della lega
python3 scripts/import_calendario_lega.py --league-id 923348
python3 scripts/import_calendario_seriea.py --season 2026 --status finished
python3 scripts/import_matchday_stats.py                   # box score (BigBalls)
python3 scripts/import_voti.py                             # voti Redazione (fantacalcio.it)
python3 scripts/scrape_formazioni.py && python3 scripts/scrape_squalifiche.py
python3 scripts/apply_formazioni_status.py
python3 scripts/salva_status_scadenza.py                   # foto degli status prima della scadenza
python3 scripts/import_storico_stagioni.py --stagioni 2026-27 --corrente  # rigori di quest'anno
python3 scripts/rigoristi.py calcola                       # consenso sulle gerarchie dei rigoristi

# La formazione della mia squadra
python3 scripts/report_formazione.py --team-id 20598917 --matchday 6

实际上,无需启动它们:例程每天在 6:52(时间 意大利语),运行技能 aggiorna-dati 并将数据推送到 main。

行动中

推荐第 6 天的训练,根据当天的成绩计算 29/09 1-5(数据每天早上更新,因此重新启动后数字会发生变化):

$ python3 scripts/report_formazione.py --team-id 20598917 --matchday 6
Giornata 6 — modalità classic, panchina di 7 (1 P, 2 D, 2 C, 2 A), cambi solo tra pari ruolo
Prossimo turno dal calendario: 10/10 - 12/10 (10 partite)
Scadenza formazione: 10/10 alle 15:00 (ora italiana), inizio di Genoa-Fiorentina
Modulo consigliato: 3-4-3
...

TITOLARI:
  [P] Martinez Jo.        4.54  voti 4.55  avv -0.01                  titolare 90%      vs Parma (C) 10/10
  [D] Kamara H.           6.77  voti 6.72  avv +0.04                  titolare 90%      vs Torino (T) 12/10
  [D] Doekhi              6.55  voti 6.28  avv +0.28                  ballottaggio 50%  vs Monza (C) 11/10   <- se non gioca entra Valeri
  ...
  [C] Frattesi            7.71  voti 7.43  avv +0.28                  titolare 90%      vs Monza (C) 11/10
  [C] Zaccagni            7.06  voti 6.78  avv +0.28             RIG! titolare 90%      vs Monza (C) 11/10
  ...
  [A] Esposito Se.        6.97  voti 7.16  avv -0.19                  ballottaggio 70%  vs Milan (C) 11/10   <- se non gioca entra Adams A.
  ...

PANCHINA — 7 di 7 posti (per ogni titolare senza voto entra il primo del suo ruolo;
se le riserve di quel ruolo finiscono, lo  vale 0):
  P1  Provedel             -    senza voti                            panchina 5%       vs Parma (C) 10/10
  D1  Valeri              6.17  voti 6.12  avv +0.04                  titolare 90%      vs Inter (T) 10/10
  D2  Calvani             6.10  voti 6.17  avv -0.07                  titolare 90%      vs Napoli (T) 10/10
  C1  Ndour               6.29  voti 6.13  avv +0.16                  titolare 90%      vs Genoa (T) 10/10
  C2  Thorstvedt          5.89  voti 6.08  avv -0.19                  ballottaggio 85%  vs Milan (C) 11/10
  A1  Adams A.            6.50  voti 6.51  avv -0.01                  titolare 90%      vs Atalanta (T) 12/10
  A2  Simeone             6.43  voti 6.21  avv +0.22                  titolare 90%      vs Udinese (C) 12/10

FUORI DISTINTA (la panchina ha pochi posti per ruolo: questi non entrano):
  ...
  [C] Pierotti            5.96  voti 6.03  avv -0.07    ballottaggio 80%  vs Bologna (C) 11/10
  ...

PUNTEGGIO ATTESO: 71.1 punti (somma degli 11 , già scontata per
chi rischia di non prendere voto e per gli  che possono restare vuoti).
  ...
  Soglie della lega: primo gol a 66, poi uno ogni 5.
  Il punteggio vero si allontana da quello atteso di circa 5.3 punti (una deviazione
  standard: 1.60 a giocatore, misurata su 786 voti delle giornate 3-5
  confrontando la previsione fatta prima con il voto vero). Quindi i gol sono probabilità:
    0 gol 17%   1 gol 32%   2 gol 33%   3 o più 18%
  ...

名字后面的数字是如果玩家获得投票的预期幻想投票,并决定 每个角色内的顺序。它是其后面两列的总和(小于 四舍五入):

右边是fantacalcio.it可能阵容的状态,百分比 所有权。 不输入数字:如果所有者没有投票,则输入第一个数字 替补席,所以最强的总是走在前面(通知上写着谁进入)。 相反,它进入了替补席的选择,替补席有7个固定名额:如果一个角色的替补 他们完成了这个位置的价值是0,而一个从不参加比赛的预备队就是一个浪费的位置。为此在 替补席上有托斯特维特(5.89,85% 得票率),而不是皮耶罗蒂(5.96,80%)。 RIG! 分数 今年已经作为消息来源的第一个点球主罚者踢出了点球;充当 季后赛,不进号。

PUNTEGGIO ATTESO 将 11 个位置转化为联赛进球数(66 分 = 1 个进球,71 = 2 个进球,76 = 3)。 71.1并不意味着“2球”:球队的真实比分已经偏离 预计领先 7 分左右,联赛所有球队将重赛 3-5 场比赛, 因此报告给出了每个结果的大概情况(中心不是 仍在校准中)。出于同样的原因,仅在阈值之上停留一口气不算数:一分 预期的附加值在任何地方的值都在 0.17 左右,并且选项以分数为权重。

方框分数历史记录启用了什么 — 第 1-5 天的示例:

TOP GOL                                        TOP CARTELLINI GIALLI
Malen        Roma       6 gol in 347'          Ostigard   Genoa      3 gialli, 6 falli
Raimondo     Frosinone  4 gol in 329'          Akanji     Inter      2 gialli, 4 falli
Varela G.    Monza      4 gol in 341'          Hermoso    Roma       2 gialli, 3 falli

这不是一个炫耀的排名:牌和犯规告诉我们谁在比赛中面临风险 艰难。对于真正的取消资格,存储库不会计算黄色本身,请阅读来源 官方:取消资格和警告来自“不可用”页面 fantacalcio.it,报告排除前者并警告您后者。

数据结构

data/、JSON 中的所有内容都在 git 中进行版本化——没有数据库,没有隐藏状态。

文件 内容 状态(29/09)
players.json 官方列表 fantacalcio.it:角色、团队、初始价格和当前价格、FVM、状态 599 名玩家
matchday_stats.json 对于giocatore/partita:投票和幻想投票(编辑团队)、进球、助攻、牌、犯规、分钟、对手、casa/trasferta。 永远不会变短 2099 行,1443 票幻想(第 1-5 天)
calendario_serie_a.json 联赛赛程表和结果 380 场比赛(50 场比赛)
teams.json 参加联赛的球队、总积分和剩余积分 12 队
ownership.json 谁拥有谁、以什么价格、以什么方式拥有 300名玩家
lega_competizioni.json 联赛比赛、对阵赛程和结果。 计算出来的日子永远不会丢失 FANTACARBONARA 冠军,33天
injuries.json 目前的伤病预计会恢复 50 个条目
squalifiche.json 目前的暂停和预订 每圈更新
formazioni_history.json 可能的阵容历史已发布 不断积累
status_scadenze.json 每轮截止日期之前所有玩家的状态和所有权概率(salva_status_scadenza.py):回测知道谁出局,无需考虑未来 1 轮(第 6 天),599 名玩家
storico_stagioni.json 所有球员过去在的赛季,仅供参考,除了本赛季之外,还适用于今年的官方点球 2025-26 (663), 2024-25 (679)
rigoristi.json 根据多个来源的处罚执行者的层次结构,并通过 rigoristi.py 计算得出共识。 这不是官方数据:它仅作为季后赛 20 个团队,3 个来源
notizie_rosa.json 关于我的球员球队的最新事实,包括来源以及它们是否经过验证 19 条新闻,17 条已验证
market_log.json asta.py记录的购买、交换和发布日志 仅用于模拟

config/league.json持有录取表格,阵容要求,我的团队 (my_team_id: VAR-tificial)、联赛id、投票来源(fonte_voti: Fantacalcio 编辑团队)和联赛规则取自 FantaCarbonara 法规, 每个都有其来源:

培训委员会的想法如何

report_formazione.py 按预期幻想投票对每个角色的玩家进行排序如果 他们有投票权:如果先发球员没有上场,则该队替补席上的第一位球员上场 角色,所以最强的总是在前面。玩的概率不进入 按照顺序,但在警告中(“如果他不参加比赛,X 进入”)以及 谁进入的选择 替补:每个角色有 7 个固定配额,未覆盖的位置价值 0,因此 1 个 不参加比赛的替补是一个浪费的地方。

该值有两部分,显示在列中并在行中为初学者和初学者进行解释 变化:

测试是 backtest_undici.py:从 3 点开始每天部署全部 12 个 仅具有先前数据的联赛球队,应用替补规则并添加 真实点。在 29/09 上,与订单相比,模型每天价值 +2.61 积分 买入(范围 +0.64 / +4.56),+1.15 对比简单平均评级,+0.56 选择替补的概率为+0.85,对手项为。拥有 36 阵容范围是乐观的,并且标签为“已证明/未证明” 它们会因几美分而改变:它们是线索,而不是结论。对手一词仍然存在 临时:在第 8 比赛日重新测量。进攻性产出的修正(进球数) 预期射门)被 27/09 关闭,因为它没有显示任何增益;先验的 从报价和上季来看,casa/trasferta以及预期值的模块选择 他们受到了考验,却被排除在外。该规则有利于当前状态,并且 声明:没有改变,既不添加也不删除它,没有 不包括零的区间。中的数字和推理 .docs/analisi-valutazione-formazione.md.

仍远未确定:预期订单猜测的差距低于 0.20 点 谁赚得最多,就几乎就像一枚硬币。因此,DECISIONI TUE 部分列出了这些 选择并把它们留给你。

推迟的比赛遵循联赛规则,每天适用:

白天比赛推迟 玩家得到什么 报告如何对待他们
从 1 到 3 6 公共事务,无恢复 它们在订单中价值 6 个(6 个安全,没有变化)
超过3个 为所有人投票恢复 他们保持平均水平

推迟但在当天进行的比赛不属于推迟。正好 3 报告警告说,即使在截止日期之后,再有一项推迟也会改变规则 大家。还打印训练截止日期:第一场比赛开始时不 轮班推迟。如果轮班不是根据日历日期重建的,则不会 不应用这些并要求手动检查。完整审查 逻辑:.docs/difetti-consiglio-formazione.md。

数据源,有其缺陷

没有任何来源被视为。我们所知道的是记录下来的,而不是发现的 两次:

来源 我们得到什么 我们知道什么是行不通的
fantacalcio.it(公共HTML) 官方名单(598,相同的拍卖ID),编辑投票,可能的阵容,取消资格和禁止 按id合并投票和列表;可能且按名称不合格,因此必须查看“未找到”。得票数“55”表示没有投票
FantaDraft(GitHub,公共) 事故 598 名玩家中只有 532 名:这就是该列表不再来自此处的原因
BigBalls API 日历、结果、每位球员的得分(还有射门、关键传球、替补) 换球衣错队(通过投票和解恢复)、无关球员、重复赛事、迟到一天round,几乎没有处罚; 17 名球员的评分实际上并不高
leghe.fantacalcio.it(私人API) 联赛阵容、积分、比赛、赛历和结果 无证,两个JWT 其中一个没用,只读。它还显示 6 个空队;当管理员移动玫瑰时,他可以在几秒钟内归还几乎所有空玫瑰。无排名终点

详细信息、端点和已验证的陷阱:.docs/bigballs-api.md 和 .docs/leghe-fc-api.md.

状态和后续步骤

克劳德·代码的技能

该存储库旨在在对话中使用。在.claude/skills/中:

技能 当他离开时
aggiorna-dati 早上的例行公事/“更新所有数据”
asta «从 Barattolo FC 获取 112 的 Lautaro»(今天仅用于模拟)
aggiorna-formazioni «更新可能性» / 在每个截止日期之前
formazione 《我有什么阵型?》

凭证

仅来自环境变量,从不在文件中,从不在聊天中: LEGHE_FC_USERNAME, LEGHE_FC_PASSWORD, BIGBALLS_API_KEY. 粘贴在聊天中的密钥应被视为已泄露并重新生成。

喜欢(0)

上一篇

GitArchitectureDiagram:AI Agent 工具实践指南

GitArchitectureDiagram:AI Agent 工具实践指南

下一篇

LangAlpha:AI Agent 工具实践指南

LangAlpha:AI Agent 工具实践指南
猜你喜欢