首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我并不是全部从google工作表中获得与AppScript匹配的Google工作表中的特定字符串的所有urls

我并不是全部从google工作表中获得与AppScript匹配的Google工作表中的特定字符串的所有urls
EN

Stack Overflow用户
提问于 2022-10-13 13:47:52
回答 1查看 30关注 0票数 0

我将所有数据(372行urls)从列(首先)从google获取到对象中。但是,当我迭代对象以将每个项(Url)与指定的文本匹配时,它只返回20条记录(11条来自if部分,9条来自其他部分)。

这是我的密码

代码语言:javascript
复制
function sheetApp() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var Avals = ss.getRange('A2:A').getValues();
  var Alast = Avals.filter(String).length;
  var range = ss.getRange(2, 1, Alast, 1);
  var ranges = range.getValues();
  var arr_backlinks = [];
  var found_backlinks = [];
  var not_found_backlinks = [];
  var error_backlinks = [];
  for (let index = 0; index < ranges.length; index++) {
    backlinks = ranges[index];
    arr_backlinks.push(backlinks);
  }
  var parameters = {
    method: 'get',
    headers: { Authorization: 'Bearer ' + 'yyy' },
    contentType: 'application/json',
    muteHttpExceptions: true,
  };
  try {
    for (let ww = 0; ww < arr_backlinks.length; ww++) {
      var actual_backlink = arr_backlinks[ww];
      var page = UrlFetchApp.fetch(
        actual_backlink,
        parameters
      ).getContentText();
      if (page.indexOf('https://coachfoundation.com/') >= 0) {
        found_backlinks.push(actual_backlink + ' Found');
        Logger.log(actual_backlink + 'Found');
      } else {
        Logger.log(actual_backlink + 'Not Found');
        not_found_backlinks.push(actual_backlink + ' Not Found');
      }
    }
  } catch (err) {
    Logger.log(actual_backlink + 'Error');
    error_backlinks.push(actual_backlink + ' Error');
  }
}

执行日志:

代码语言:javascript
复制
9:27:42 PM  Notice  Execution started
9:28:10 PM  Info    Found backlinks : 11
9:28:10 PM  Info    Not found backlinks: 9
9:28:10 PM  Info    Websites not opened : 1
9:28:11 PM  Notice  Execution completed

我尝试过通过多种方式进行调试,但没有起作用。如何获得所有372个urls的已找到和未找到的分类?有解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-10-13 18:43:50

代码语言:javascript
复制
try {
  for (let ww = 0; ww < arr_backlinks.length; ww++) {  }
} catch (err) {}

循环在try块内。在块中抛出的任何错误都将结束代码。将try...catch移动到循环中,并在catch块中添加continue以继续循环,而不考虑在fetch中引发的任何错误

代码语言:javascript
复制
for (let ww = 0; ww < arr_backlinks.length; ww++) {
  try {/*fetch and check*/} catch (err) {/*do stuff*/continue;}
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74056883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档