在 Appscript 中从另一个 url 获取数据

Getting data from another url in Appscript

我正在尝试从 site. The request url 抓取数据,以便在浏览器中正确显示产品信息。但是没有得到 UrlFetchApp。我的代码如下

function myFunction() {  
  var coles_url = "https://shop.coles.com.au/search/resources/store/20520/productview/bySeoUrlKeyword/mutti-tomato-passata-2349503p?catalogId=12064";
  Logger.log(jsonInitColes(coles_url));
  
}

function jsonInitColes(url){
   var options =
  {
   "method"  : "GET",   
   "followRedirects" : true,
   "muteHttpExceptions": true
    };
   var response = UrlFetchApp.fetch(url,options);
   var content = response.getContentText();
   return content; 
}

但我得到以下 HTML 而不是数据 status_code 是 429(请求太多)

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="shortcut icon" href="about:blank">
</head>
<body>
<script src="/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/j.js"></script>
<script src="/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/f.js"></script>
<script src="/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/fingerprint/script/kpf.js?url=/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/fingerprint&token=c3436f36-e3c3-a537-25f3-bedc8592f189"></script>
</body>
</html>

请求的浏览器检查

答案:

对此你无能为力。

更多信息:

Google Apps 脚本在云中运行,因此您的提取将来自一些未指定的 Google IP。

想象一下有多少用户在使用 Google Apps 脚本。在这些用户中,有多少人试图从相同的站点和服务器获取信息。不幸的是,Too many Requests 是将 UrlFetchApp 用于不需要身份验证的外部端点时的常见错误

如果您收到 Too many requests 错误并且您没有进行快速重试,则可能是来自云中所有其他 Apps Script 脚本的请求过多,它们向同一台服务器。你对此无能为力。