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

ImportHTML抓取NBA球员道具数据报错:URL资源内容超出最大大小

报错原因说明

Google Sheets 内置的 IMPORTHTML 函数对可抓取的资源体积有固定硬限制,目标网站今年新增下拉选项后,页面加载的DOM内容总大小超过了这个阈值,就会触发「Resource at url contents exceeded maximum size」报错,该限制属于内置函数的固有属性,无法通过调整函数参数突破,确实需要通过自定义脚本的方式解决。

可行解决方向

1. 自定义Google Apps Script抓取方案(最适配当前场景,新手友好)

你无需掌握复杂的脚本开发逻辑,按照以下步骤操作即可直接替换原有IMPORTHTML的功能:

  • 打开你正在使用的Google Sheets,点击顶部菜单栏「扩展程序」-「Apps Script」进入脚本编辑器
  • 清空编辑器里的默认代码,粘贴以下现成的自定义抓取代码:
function customImportHTML(url, tableIndex) {
  // 抓取页面完整内容
  const html = UrlFetchApp.fetch(url, {
    headers: {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}
  }).getContentText();
  // 匹配页面所有表格
  const tables = html.match(/<table[^>]*>[\s\S]*?<\/table>/gi);
  if (!tables || !tables[tableIndex-1]) return "未找到对应编号的表格";
  const targetTable = tables[tableIndex-1];
  // 解析表格行与单元格内容
  const rows = targetTable.match(/<tr[^>]*>[\s\S]*?<\/tr>/gi);
  const result = [];
  rows.forEach(row => {
    const cells = row.match(/<t[dh][^>]*>[\s\S]*?<\/t[dh]>/gi);
    const rowData = cells.map(cell => cell.replace(/<[^>]+>/g, '').trim());
    result.push(rowData);
  });
  return result;
}
  • 点击保存按钮,给项目随便起个名字后回到表格页面,直接用=customImportHTML("https://www.scoresandodds.com/nba/props", 1)即可调用,和你之前的IMPORTHTML用法完全一致,没有资源大小限制。

2. 后续使用优化建议

  • 不要设置短于1小时的自动刷新规则,频繁请求容易触发网站反爬机制导致抓取失败
  • 如果后续遇到部分数据抓取不全的情况,可以在开发者工具里找到网站加载表格数据的独立API接口,用脚本直接抓取接口返回的JSON数据,体积更小、速度更快也更稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:45:02