如何在Google App脚本中导入RSSfeed

时间:2019-05-18 16:10:07

标签: javascript google-apps-script rss

我想在Google App脚本中导入RSS提要,并将“标题”和“内容”(= RSS提要的主要文本)保存在单独的数组中,以便我可以修改它们并将结果输出到Google电子表格。

此刻,我将RSS提要导入表中(带有= ImportFeed),并读取这些单元格并将它们存储在数组中,对其进行修改并将其输出到新单元格中。可以,但是很慢(从Google表格获取数据的Google App脚本很慢)。

如果我能够直接在脚本中导入RSS提要,则可以提高处理速度。但是问题是我不知道怎么做,也找不到有用的信息(我在自学)。

也许有人可以帮助我,谢谢!

1 个答案:

答案 0 :(得分:0)

尝试这个:

function test() {
var sheet = SpreadsheetApp.openById("KEY").getSheetByName('SHEET_NAME');
// create a list of existing "IDs" for each post / comment, to avoid adding duplicates in the sheet
var temp = sheet.getRange(1, 6, sheet.getLastRow()).getValues();
var existingIds = [];
for (var i in temp) {
existingIds.push(temp[i][0]);
}

var feed = UrlFetchApp.fetch("RSS_URL.XML").getContentText();
feed = XmlService.parse(feed);
var items = feed.getRootElement().getChild("CHILD_NAME").getChildren("ITEM");

for (var i in items) {
var link = items[i].getChild("ITEM").getValue();
// avoid adding duplicates
if (existingIds.indexOf(link) != -1) continue;

var ITEM = items[i].getChild("ITEM").getValue(); 
var ITEM = items[i].getChild("ITEM").getValue(); 
var ITEM = items[i].getChild("ITEM").getValue(); 
var ITEM = new Date(items[i].getChild("ITEM").getValue()); 

sheet.appendRow([ITEM, ITEM, ITEM, ITEM, ITEM]);
}
}