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

如何在Google Apps Script中提取HTML文本内的polygonSeries.data变量值

实现方案

你可以通过正则匹配加JSON转换的方式提取数据,比逐行解析更稳定高效,实现逻辑如下:

  • 首先用正则一次性抓取polygonSeries.data赋值的完整数组段,避免逐行判断的冗余
  • 清理数组中am4core.color()这类JS语法,转为标准JSON格式
  • 直接用JSON.parse转为GAS可直接操作的对象

示例代码

function extractPolygonData() {
  // 替换为你的请求逻辑
  const url = "目标页面URL";
  const requestOptions = {}; // 你的原有请求配置
  const pageContent = UrlFetchApp.fetch(url, requestOptions).getContentText();

  // 匹配polygonSeries.data的完整数组内容,s修饰符支持跨行匹配
  const dataReg = /polygonSeries\.data\s*=\s*(\[.*?\]);/s;
  const matchResult = pageContent.match(dataReg);
  if (!matchResult) return [];

  // 替换am4core.color调用为纯十六进制色值字符串,适配JSON格式要求
  let rawData = matchResult[1].replace(/am4core\.color\("(#[\dA-Fa-f]{6})"\)/g, '"$1"');

  // 转为GAS中可直接使用的数组对象
  const polygonSeriesData = JSON.parse(rawData);

  // 测试输出,可自行删除
  console.log(polygonSeriesData);
  return polygonSeriesData;
}

方案优势

  • 不需要逐行遍历HTML,执行效率更高
  • 正则匹配兼容代码中的空格、换行变化,只要变量赋值的结构不变就不会失效
  • 代码逻辑精简,维护成本低

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:18:02