You need to enable JavaScript to run this app. 无法使用IMPORTXML导入网页表格数据到Google Sheets,求解决方案
优惠活动
大模型
产品
解决方案
定价
更多

无法使用IMPORTXML导入网页表格数据到Google Sheets,求解决方案

Google Sheets导入动态渲染网页表格解决方案

失败原因

你使用的=IMPORTXML()函数仅能读取网页的静态源代码内容,目标网页的表格数据由JavaScript动态加载渲染,静态源代码中不存在你要定位的span[@class='table-column-text']元素,因此公式无法返回结果。

可行解决方案

方案一:通过Google Apps Script自定义函数抓取(推荐)

该方法直接提取页面嵌入的原始JSON数据,无需解析DOM,稳定性更高:

  • 打开目标Google Sheets,点击顶部「扩展程序」→「Apps Script」进入脚本编辑器
  • 删除默认的示例代码,粘贴以下代码:
function getFrenchTechTable() {
  const targetUrl = "https://ecosystem.lafrenchtech.com/lists/18872/list?showGrid=false";
  const requestOptions = {
    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"
    },
    muteHttpExceptions: true
  };

  try {
    const response = UrlFetchApp.fetch(targetUrl, requestOptions);
    const pageContent = response.getContentText();
    // 匹配页面内嵌的初始化数据
    const jsonMatch = pageContent.match(/window\.__INITIAL_STATE__ = (\{.*?\});<\/script>/s);
    if (!jsonMatch) return [["未匹配到页面数据"]];
    const pageData = JSON.parse(jsonMatch[1]);
    // 提取表格列表项,可根据需求调整返回字段
    const tableRows = pageData.lists.list.entities.items.map(item => [
      item.name,
      item.website || "",
      item.description || "",
      item.location?.city || ""
    ]);
    // 插入表头
    tableRows.unshift(["名称", "官网", "简介", "所在城市"]);
    return tableRows;
  } catch (e) {
    return [["抓取失败:" + e.toString()]];
  }
}
  • 点击保存按钮,给项目任意命名后回到表格页面
  • 在任意空白单元格输入=getFrenchTechTable(),回车后等待数秒即可自动加载完整表格数据

方案二:手动导出静态数据

适合临时单次使用,无需编写代码:

  • 用浏览器打开目标网页,等待表格完全加载完成
  • 按F12打开开发者工具,切换到「元素」面板,找到表格对应的根节点,右键选择「复制」→「复制外层HTML」
  • 直接将复制的内容粘贴到Google Sheets中,系统会自动识别为结构化表格

注意事项

  • 自定义函数抓取触发反爬限制时,可以间隔一段时间再重试,或手动更新请求头中的User-Agent值
  • 数据抓取完成后建议选中所有内容,按Ctrl+C再按Ctrl+Shift+V粘贴为静态值,避免后续刷新时重复请求触发限制

内容的提问来源于stack exchange,提问作者Jean-Eric

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 11:54:07