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

如何让谷歌表格自定义函数scrapeDemo的结果输出到单元格

谷歌表格scrapeDemo自定义函数修改方案

修改后代码

function scrapeDemo(url) {
  try {
    var html = UrlFetchApp.fetch(url).getContentText();
    var res = html.match(/<div class="cr_data rr_stockprice module">.+?(<table .+?<\/table>)/);
    if(!res || !res[1]) return "未匹配到对应表格数据";

    var document = XmlService.parse(res[1]);
    var root = document.getRootElement();
    // 存储返回结果的二维数组
    var outputArr = [];

    var trNodes = root.getChild('tbody').getChildren();
    trNodes.forEach((trNode) => {
      var tdNodes = trNode.getChildren();
      var fieldName;
      var fieldValue;
      tdNodes.forEach((tdNode, idx) => {
        if (idx % 2 === 0) {
          fieldName = tdNode.getValue().trim();
        } else {
          fieldValue = tdNode.getValue().trim();
          outputArr.push([fieldName, fieldValue]);
        }
      });
    });
    return outputArr;
  } catch (e) {
    return "运行异常:" + e.toString();
  }
}

核心改动说明

  • 新增结果存储变量outputArr,格式为谷歌表格可识别的二维数组,每一行对应一对字段名与字段值
  • 移除原有的日志打印逻辑,替换为往结果数组中推入数据的操作
  • 函数末尾直接返回结果数组,谷歌表格会自动将数组展开为两列多行的表格,无需额外配置
  • 新增基础异常捕获逻辑,匹配失败或请求出错时会返回友好提示,避免直接抛出单元格错误

使用方法

在目标单元格输入公式 =scrapeDemo("你要抓取的页面URL"),按下回车即可自动生成两列的结果表格,第一列为字段名,第二列为对应字段值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 07:24:09