我有一长串要搜索特定字符串的网站。在这种情况下,字符串是“cast area”。我想出了这个脚本来查看列表(我将它限制在我知道有有效输出的行中)。在日志中,它说 Logging output too large. Truncating output.
我在网上读到这应该无关紧要 - 它对于日志来说太大了,而不是放弃查看其余部分。
function getData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('URLs');
var firstURL = 24673
var lastURL = 24678
var i
for (i=firstURL; i<lastURL; i++) {
var data = sheet.getRange(i,1).getValue();
var response = UrlFetchApp.fetch(data).getContentText();
Logger.log(data)
//Logger.log(response)
if (response.toLowerCase().indexOf("cast area")>-1) {
Logger.log(1)
}
}
}
为了测试它,这里是包含 url 的代码,在页面的“注释”部分中带有“CAST AREA”字样。我希望日志应该返回数字 1 以表明它有效。
function getData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('URLs');
var data = "https://elanthipedia.play.net/Faenella%27s_Grace";
var response = UrlFetchApp.fetch(data).getContentText();
Logger.log(data)
//Logger.log(response)
if (response.indexOf("CAST AREA")>-1) {
Logger.log(1)
}
}
答案 0 :(得分:0)
最简单的解决方案是将其写入电子表格。
示例:
function getData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('URLs');
var data = "https://elanthipedia.play.net/Faenella%27s_Grace";
var response = UrlFetchApp.fetch(data).getContentText();
sheet.getRange(sheet.getLastRow()+1,1).setValue(response);
}
显然,为了以更好的方式可视化数据,解析响应并将不同的对象写入电子表格的不同列是有意义的。