本文目录导读:

要判断一个“实用脚本”是否统计了XG(期望进球值),不能只看脚本的名字或描述,必须查看其代码逻辑和数据源。
因为“XG”是一个计算模型,而不是一个官方统一发布的固定数据,目前没有任何公开的免费API能直接提供“权威”的XG值。
要确认这个脚本是否统计了XG,你需要按以下步骤核查代码:
查找数据源(最关键)
打开脚本代码,搜索关键词,看它从哪个网站或API拉取数据:
- 错误的数据源(未统计XG):如果数据来自
understat、fbref、sofascore、whoscored等比赛事件数据,这些网站通常提供XG值(他们自己计算或转售数据)。 - 错误的数据源(未统计XG):如果数据来自
football-data.org、api-football(部分免费版)、ESPN等,这些通常只提供比分、射门数、控球率,不提供XG,如果脚本号称统计XG,但数据源是这些,那它大概率是把“射正数”或“射门数”当成了XG,属于伪统计。
查看代码中的变量名
搜索以下关键词,看看是否有对应的处理逻辑:
xgexpected_goalsxG_for/xG_againstxgoals
如果这些变量只是被打印出来,但没有从数据源解析,或者代码里只是写死了 xg = 0,那它就没有统计。
检查XG的计算方式
- 如果脚本自己计算XG:它需要根据射门位置、角度、射门部位等复杂模型计算,99%的业余脚本不会这么做,通常只是抓取。
- 如果脚本抓取:它需要解析HTML或JSON中的
expected_goals字段,你需要确认它是否成功解析了该字段,而不是解析了goals(实际进球)字段。
快速测试方法(推荐)
用一场已知比分但不寻常的比赛测试:
- 找一场 “弱队狂射门但没进球” 的比赛(一方射门20次,进0球,另一方射门2次,进1球)。
- 运行脚本,看输出的XG值:
- 如果脚本输出 射门多的一方 XG 高(如2.5),但比分是0:1,说明它确实统计了XG(能反映比赛质量)。
- 如果脚本输出的XG值恰好等于实际进球数(例如0:1,输出XG也是0和1),或者XG值随射门数线性增减,那它只是把射门数或进球数伪装成了XG,并未统计真正的期望进球。
查看README或注释
如果脚本是开源的,查看文档是否提到:“数据来源:Understat API” 或 “XG数据来自免费接口”。
如果脚本代码中找不到 xg 相关变量,或者数据源来自不提供XG的免费接口,那么它没有统计XG,它统计的只是传统的基础数据(射门、射正、控球)。
如果你能提供脚本的代码或Github链接,我可以直接帮你确认。