微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

问题:我想学习如何使用谷歌应用程序脚本将数字从网站导入谷歌表格

如何解决问题:我想学习如何使用谷歌应用程序脚本将数字从网站导入谷歌表格

很像这里的这篇文章:(Google Sheet use Importxml error could not fetch url),我想从这个网站导入一个数字:(https://tarkov-market.com/item/Pack_of_sugar)。 有人回复一个谷歌应用程序脚本,该脚本价格合理且运行良好,他们的脚本如下:

function sampleFormula() {
  const url = "https://tarkov-market.com/item/Pack_of_sugar";
  const html = UrlFetchApp.fetch(url).getContentText();
  return html.match(/price:(.+?)<\/title>/)[1].trim();
}

但是,我想取过去 24 小时的平均价格,这是同一页面上的另一个数字。我不熟悉编码,但我想知道如何阅读此脚本的 html.match 部分以及如何使用从“检查元素”中获得的信息重写它以针对不同的数字 我试过将最后一行重写为:

return html.match(/Average price:(.+?)<\/title>/)[1].trim();
return html.match(/average:(.+?)<\/title>/)[1].trim();
return html.match(/"Average price":(.+?)<\/title>/)[1].trim();

但都返回错误:“TypeError:无法读取 null 的属性‘1’(第 4 行)。”

如果有人可以发布更正的脚本或告诉我在哪里可以学习使用 html.match 和检查元素,我将不胜感激,谢谢!

附言如果这篇文章没有被恰当地标记,我深表歉意。

解决方法

试试这个:

function sampleFormula() {
  const url = "https://tarkov-market.com/item/Pack_of_sugar";
  const html = UrlFetchApp.fetch(url).getContentText();
  return html.match(/price(.*)<\/span>/)[1].split(">")[1]
}

或:

function sampleFormula() {
  const url = "https://tarkov-market.com/item/Pack_of_sugar";
  const html = UrlFetchApp.fetch(url).getContentText();
  return html.match(/price(.*)>(.*)<\/span>/)[2];
}

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。