本文目录导读:

- 先说明:SofaScore 的“综合评分”是什么
- 方法一:直接抓取 SofaScore 已有评分(最省事)
- 方法二:用 Excel / Google Sheets 统计
- 方法三:用爬虫 + 数据库批量统计
- 方法四:自己重算“综合评分”
- 方法五:现成工具/网站
- 常见问题
SofaScore 的“综合评分”是什么
SofaScore 给球员的评分通常是 0–10.0,基于:
- 进球、助攻
- 传球成功率、关键传球
- 抢断、拦截、解围
- 射门、过人、对抗成功率
- 失误、被过、犯规等
它本质是加权算法,SofaScore 不公开完整权重,所以第三方只能:
- 直接抓取它已经算好的评分,或
- 自己按位置用近似公式重算。
直接抓取 SofaScore 已有评分(最省事)
工具组合
- Python + requests / httpx
- SofaScore 非官方 API
- pandas 做统计
思路
SofaScore 网页数据来自内部 API,
https://api.sofascore.com/api/v1/event/{event_id}/lineups
https://api.sofascore.com/api/v1/event/{event_id}/player/{player_id}/statistics
关键点
- 需要加
User-Agent,否则可能 403 - 评分字段常在
statistics或lineups里 - 可以按球员、球队、联赛批量拉取
统计示例
import requests
import pandas as pd
headers = {"User-Agent": "Mozilla/5.0"}
event_id = 12345678 # 换成实际比赛ID
url = f"https://api.sofascore.com/api/v1/event/{event_id}/lineups"
data = requests.get(url, headers=headers).json()
rows = []
for side in ["home", "away"]:
for p in data[side]["players"]:
player = p["player"]
stats = p.get("statistics", {})
rows.append({
"球员": player["name"],
"球队": side,
"评分": stats.get("rating"),
"进球": stats.get("goals"),
"助攻": stats.get("assists"),
})
df = pd.DataFrame(rows)
print(df.sort_values("评分", ascending=False))
print("平均评分:", df["评分"].mean())
适合统计
- 单场最佳球员
- 球队平均评分
- 某球员赛季评分走势
用 Excel / Google Sheets 统计
如果你不想写代码:
- 打开 SofaScore 网页
- 复制球员评分表
- 粘贴到 Excel
- 用:
=AVERAGE()=MAX()=SORT()- 数据透视表
适合:
- 单场比赛
- 小规模手工统计
缺点:批量、多场次很麻烦。
用爬虫 + 数据库批量统计
工具
- Python + Scrapy / Playwright
- SQLite / MySQL
- pandas + matplotlib
流程
- 抓取联赛所有比赛 ID
- 遍历每场比赛,拉取球员评分
- 存入数据库
- 按球员/球队/位置聚合
可统计指标
- 场均评分
- 评分标准差(稳定性)
- 主场/客场评分差
- 对强队/弱队评分差
- 同位置排名
自己重算“综合评分”
如果你想要自定义综合评分,可以抓原始数据后自己加权:
df["自定义评分"] = (
df["进球"] * 1.2 +
df["助攻"] * 0.8 +
df["关键传球"] * 0.3 +
df["抢断"] * 0.2 +
df["传球成功率"] * 2 -
df["失误"] * 0.3
)
注意:
- 不同位置权重应不同
- 需要归一化到 6.0–10.0
- 这只是近似,不等于 SofaScore 官方算法
现成工具/网站
- FBref:有类似评分和进阶数据
- WhoScored:也有评分
- SofaScore 网页本身:可按赛事筛选
- Power BI / Tableau:抓数据后做可视化
常见问题
为什么抓不到?
- 需要
User-Agent - 可能有 Cloudflare
- API 路径会变
- 频繁请求会被封
能商用吗?
SofaScore 数据有版权,商用需授权。
最推荐方案?
- 少量:Excel
- 批量:Python + API + pandas
- 长期:数据库 + 定时爬虫 + BI
如果你告诉我:
- 你想统计单场、某球员赛季、还是整个联赛?
- 你用 Windows 还是 Mac?
- 你会不会 Python?
我可以给你一套更具体的步骤或代码模板。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播