如何获取下载网页中Html元素的“innerHTML”? [已关闭]

问题描述 投票:0回答:1

我正在尝试创建一个 Google Apps 脚本函数,该函数返回网页 ID 元素的内部 HTML。

使用网络浏览器的 JavaScript 控制台,可以这样做:

document.getElementById("myID").innerHTML

在 Google Apps 脚本中:

function getValue(symbol) {
  
  symbol= 'ABCD';

  const url = `https://example.com/${symbol}`;

  const options = {
    headers: {'Content-Type':'application/xml'},
    method: 'GET'
  };

  const res = UrlFetchApp.fetch(url, options);
  const contentText = res.getContentText();
 
  // ????
}

从上面的代码中,我已经成功提取了整个网页内容 - 但如何获取

myID
id 的内部 html?

google-apps-script html-parsing urlfetch
1个回答
1
投票

服务器端 JavaScript 与客户端 JavaScript(浏览器)不同。

window
document
或其任何方法服务器端都没有 API。要解析 html,您可以使用服务器端 html 解析器,例如 Cheerio。 @tani/@3846masa here 有一个 GAS fork,可能适合您。服务器呈现 html/js 的方式与下载的 html 中可用的内容之间也存在差异。请参阅从使用 JavaScript 的网站将数据抓取到 Google 表格

如果您正在寻找 xml 解析器,这里有一个 内置解析器

© www.soinside.com 2019 - 2024. All rights reserved.