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

如何从指定URL提取“最后更新”日期至Google Sheets?已遇返回省略号问题

解决Google Sheets IMPORTXML返回省略号的问题

嘿,我碰到过类似的动态页面抓取问题,你的情况是因为目标网站的「最后更新」日期是JavaScript动态渲染的,而Google Sheets的IMPORTXML只能读取静态HTML内容,没法执行页面的JS,所以拿到的只是页面加载时的占位省略号(就是JS还没填充真实日期前的内容)。

下面给你两个可行的解决方案:

方案一:用Google Apps Script写自定义函数(最可靠)

这个方法能直接从页面的JS数据里提取真实日期,不用依赖页面的DOM结构,稳定性更高:

  1. 打开你的Google Sheet,点击顶部菜单的「扩展程序」→「Apps Script」
  2. 清空默认的代码,粘贴下面的脚本:
function getLastUpdatedDate() {
  const targetUrl = "https://covid19.sabah.digital/covid19/";
  const pageHtml = UrlFetchApp.fetch(targetUrl).getContentText();
  
  // 从页面内嵌的JS数据中匹配last_updated字段的值
  const dateRegex = /last_updated:\s*"([^"]+)"/;
  const matchResult = pageHtml.match(dateRegex);
  
  if (matchResult && matchResult[1]) {
    // 转换为Sheet可识别的日期格式
    return new Date(matchResult[1]);
  } else {
    return "提取失败,请检查页面结构";
  }
}
  1. 保存脚本(给项目起个名字,比如SabahCovidScraper),回到Sheet里,在任意单元格输入:
    =getLastUpdatedDate()
    就能看到正确的最后更新日期了。

方案二:用公式组合(快速但依赖页面结构)

如果不想写脚本,可以试试IMPORTHTML加REGEXEXTRACT的组合,直接从页面文本里匹配日期:

=REGEXEXTRACT(IMPORTHTML("https://covid19.sabah.digital/covid19/","text",1),"Last Updated: ([^<]+)")

不过要注意:这个方法依赖页面的文本结构,如果网站后续修改了文字描述(比如把「Last Updated」改成别的),公式就会失效,所以还是更推荐方案一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 15:27:28