如何解决问题:我想学习如何使用谷歌应用程序脚本将数字从网站导入谷歌表格
很像这里的这篇文章:(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];
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。