本文目录导读:

- 方案一:使用浏览器扩展(适合非技术用户,手动操作)
- 方案二:使用 Python + 第三方API(推荐,自动且稳定)
- 方案三:使用 Excel 的 Power Query(适合处理少量数据)
- ⚠️ 重要提醒(法律与免责条款)
针对“用电脑工具统计SofaScore综合评分”的需求,这里分两种情况来解答:一是日常手动收集,二是程序化自动抓取。
由于SofaScore有严格的反爬虫机制,直接复制网页数据到Excel通常无效,以下是目前最可行的几种方案:
使用浏览器扩展(适合非技术用户,手动操作)
如果你只是需要统计某一场比赛或某个球员的评分,不想写代码,可以使用浏览器扩展直接抓取表格。
- 安装扩展:在 Chrome 或 Edge 应用商店搜索 “Table Capture” 或 “Instant Data Scraper”。
- 操作步骤:
- 打开 SofaScore 的目标页面(如球员赛季统计或球队比赛列表)。
- 点击扩展图标,它会自动识别页面上的表格数据。
- 选择包含“评分”的那一列,点击“导出”为 CSV 或 Excel 文件。
- 注意: 如果页面数据是动态加载的(滚动加载),需要先滚动到底部加载完所有数据再抓取。
使用 Python + 第三方API(推荐,自动且稳定)
SofaScore 没有官方开放 API,但有其内部的私有接口(xhr),通过 Python 可以模拟浏览器请求获取 JSON 数据。
核心逻辑:
- 寻找数据源:登录 SofaScore 网页版,按
F12打开开发者工具 -> 点击“网络” -> 刷新页面。 - 在筛选栏输入
event或statistics,找到返回评分数据的 JSON 文件(通常是以.json结尾的请求)。 - 复制请求头:在请求详情中,复制
User-Agent和Cookie(这个很重要,不带上会被拦截)。
示例代码(Python):
import requests
import pandas as pd
# 1. 获取你的真实Cookie(从浏览器复制)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...',
'Cookie': '你的完整Cookie字符串'
}
# 2. 构造API请求URL(这里以某个赛事为例,具体ID需在浏览器中查看)
# 注意:SofaScore的API URL通常会包含年份和赛事ID
url = "https://www.sofascore.com/api/v1/event/1234567/statistics"
# 3. 发起请求
response = requests.get(url, headers=headers)
data = response.json()
# 4. 解析数据(SofaScore的评分通常在 statistics 数组里的某个组)
# 这里举例:提取两组球队的评级
try:
statistics = data['statistics']
for period in statistics:
for group in period.get('groups', []):
for item in group.get('statisticsItems', []):
if 'rating' in item.get('name', '').lower():
print(f"{group['name']}: {item['value']}")
except Exception as e:
print("解析失败,请检查Cookie是否过期或URL是否正确", e)
进阶提示:
- 如果没有 Python 基础,也可以使用 Postman(一个API调试工具)先测试接口,成功返回数据后再复制数据到 Excel。
- 数据量较大时,建议使用
pandas直接导出为.xlsx文件。
使用 Excel 的 Power Query(适合处理少量数据)
Excel 自带的数据清洗工具(Power Query)可以加载网页表格,但对动态网站支持不佳,仅当 SofaScore 静态加载数据时可用。
- 操作:数据 -> 获取数据 -> 自其他源 -> 自网站 -> 输入 SofaScore URL -> 选择表格导入。
⚠️ 重要提醒(法律与免责条款)
-
反爬严苛:SofaScore 的加密签名(
x-signature)每天都在变,如果直接使用requests访问,极大概率会返回 403 错误。 -
Cookie 时效:手动复制的 Cookie 往往在 几小时到一天内 就会失效,需要频繁更换。
-
替代方案:如果代码抓取实在困难,且你需要的是足球或篮球的赛季评分,可以考虑改用:
- FBref.com(参考数据的免费公开网站,支持复制粘贴到 Excel)。
- WhoScored.com(评分体系类似,表格易于导出)。
- API-Football(付费API,提供标准化数据,无封禁风险)。
总结建议:如果只是个人临时统计,用浏览器扩展手动导出最快;如果需要长期、大量数据,建议改用 FBref 或 WhoScored 作为数据源,其在合规性和易用性上远优于直接爬取 SofaScore。
标签: 电脑工具统计