/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

GoogleAppsScriptでAtom形式のRSSをパースする

f:id:yatta47:20181027224336j:plain

久しぶりにRSSを読み取る必要が出てきたのでその覚書。

やりたいこと

Atom形式のRSSをGASでパースする。

コード

function parseRss(){
  var feedURL = "[RSSのURL]";
  var response = UrlFetchApp.fetch(feedURL);
  var xml = Xml.parse(response.getContentText(), false);
  var items = xml.getElement().getElement("channel").getElements("item");
  
  var results = [];
  
  for(var i = 0; i < items.length; i++) {
    var item = {};
    item.title = items[i].getElement("title").getText();
    item.url = items[i].getElement("link").getText();
    results.push(item);
    Logger.log(item);
  }
  
  return results;
}

必要なのはtitleとlinkだけだったので、それのみ取っています。

まとめ

GoogleAppsScriptはやはりお手軽でやりやすい。

最初、この辺はlambdaを使ってPythonで書こうかな~と思っていたのですが、なんかそこまでの環境構築がめんどくさくなって、結局GoogleAppsScriptで実行しました。

スケジュールでの実行もできるし、これで定期的にRSSの情報が取得できます。

それではまたー。

参考サイト

Google Apps Script で RSS を取得する | ハックノート

Google Apps Scriptで配列を使ってスプレッドシートにデータ行を追加する方法