You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中导入网站指定筛选后的足球赛事数据?

获取动态筛选的足球联赛近期数据(Google Sheets解决方案)

问题根源

IMPORTHTML/IMPORTXML只能抓取页面初始加载的静态内容,而你提到的“最近3场”筛选是通过JavaScript动态请求后端API渲染的,初始页面中并不包含这部分数据,所以直接用这两个函数无法获取筛选结果。

解决方案一:使用Google Apps Script爬取动态数据

步骤:

  1. 打开你的Google表格,点击扩展程序 > Apps Script
  2. 替换默认代码为以下脚本:
function importRecent3Matches() {
  // 联赛参数:可根据目标联赛调整
  const leagueConfig = {
    tournamentId: "50",   // 挪威超的ID,对应网站参数
    seasonId: "5",        // 当前赛季ID
    formType: "3"         // 3=最近3场,4=最近4场,对应筛选框选项
  };

  // 网站动态数据接口
  const apiUrl = `https://fcstats.com/table_data.php?action=get_table&tournament_id=${leagueConfig.tournamentId}&season_id=${leagueConfig.seasonId}&form=${leagueConfig.formType}`;

  try {
    // 发送请求并解析JSON数据
    const response = UrlFetchApp.fetch(apiUrl);
    const rawData = JSON.parse(response.getContentText());
    
    // 选择目标工作表(可修改为你的表名)
    const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
    targetSheet.clearContents();

    // 写入表头
    const headers = ["排名", "球队", "场次", "胜", "平", "负", "进球", "失球", "净胜球", "积分"];
    targetSheet.getRange(1, 1, 1, headers.length).setValues([headers]);

    // 格式化并写入数据行
    const dataRows = rawData.table.map(item => [
      item.rank,
      item.team_name,
      item.matches,
      item.wins,
      item.draws,
      item.losses,
      item.goals_scored,
      item.goals_conceded,
      item.goals_diff,
      item.points
    ]);

    if (dataRows.length > 0) {
      targetSheet.getRange(2, 1, dataRows.length, dataRows[0].length).setValues(dataRows);
    }

    SpreadsheetApp.getUi().alert("数据导入完成");
  } catch (err) {
    SpreadsheetApp.getUi().alert(`导入失败:${err.message}`);
  }
}
  1. 保存脚本后,点击运行按钮,授权脚本权限即可导入数据

说明:

  • 接口参数是通过浏览器DevTools的Network标签分析得到的:选择“最近3场”筛选时,会触发一个table_data.php的XHR请求,其中form=3对应“最近3场”的筛选条件
  • 可修改leagueConfig里的参数切换联赛或筛选场次(比如formType="4"对应最近4场)
  • 若需要自动更新,可在Apps Script中设置时间触发器(比如每天凌晨更新一次)

解决方案二:使用自定义IMPORTJSON函数

如果不想写脚本,可以安装IMPORTJSON自定义函数,直接调用API接口:

  1. 在Apps Script中导入IMPORTJSON的官方代码
  2. 在表格单元格中输入:
=IMPORTJSON("https://fcstats.com/table_data.php?action=get_table&tournament_id=50&season_id=5&form=3")
  1. 函数会自动解析JSON数据并填充到表格中

注意事项

  • 网站的API参数可能随赛季更新,若数据失效,重新用DevTools检查最新请求参数即可
  • 避免过于频繁发送请求,防止被网站限制访问

内容的提问来源于stack exchange,提问作者Chris Darby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:32:45