Combine Multiple RSS Feeds with Google Scripts
This Google Script takes 2 or more RSS feeds and mashes them up into a JSON feed that you can call from an external app by publishing the script as a web app. Internally, the script uses URLFetchApp to fetch the XML feed and parses it using the Xml service.
This can also be used for single widgets that output data from multiple RSS feeds. You can also mix and mashup RSS feeds with Yahoo Pipes.
function RSSMashup() {
var RSS = ['http://feeds.labnol.org/labnol', 'http://podgallery.org/feed', 'http://hundredzeros.com/feed'];
for (var i = 0; i < RSS.length; i++) {
var url = RSS[i];
var result = UrlFetchApp.fetch(RSS[i]);
var feed = result.getContentText();
var xml = Xml.parse(feed, false);
var items = xml.getElement().getElement('channel').getElements('item');
var data = [];
for (var j = 0; j < items.length; j++) {
var utc = new Date(items[j].getElement('pubDate').getText());
var item = {
title: items[j].getElement('title').getText(),
link: items[j].getElement('link').getText(),
timestamp: utc.getTime().toString(),
source: url,
};
data.push(item);
}
var json = JSON.stringify(data);
Logger.log(json);
}
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory