Google SpreadSheetでIMPORTFEED関数を使って、RSSリーダーを構築する方法を解説します。
モグモグさん
コードを書かずに好きなサイトの情報を常にキャッチできるので、情報収集を手軽にした方におすすめです。
またSpreadSheetをデータベースとして使う場合などにも便利です。
ちなみにRSSリーダーで有名なサービスにFeedlyというものがありますので、知らない方はチェックしてみてください。
このサービスでもっと簡単に情報収集ができると思います!
SpreadSheetに対象サイトのURLを追加
まずは対象とするサイトのURLを追加していきます。
まずはSpreadSheetを作成しましょう。
タブ(シート)の名前は、feedsとしました!
本記事では、YahooとITmediaのフィードURLを追加しました!
- https://news.yahoo.co.jp/rss/topics/top-picks.xml
- https://rss.itmedia.co.jp/rss/2.0/itmedia_all.xml
ちなみにフィードのURLを見つけるにはこういったサービスを使うと楽に見つけることができます。
IMPORTFEED関数でデータを取得
それでは追加したサイトのデータを取得していきましょう。
新しいタブを追加して=IMPORTFEED(feeds!B2&"?d="&TODAY(),"items")
関数をお好きなセルに入力します。
するとYahooのデータが取得できていることがわかります。
別のタブを作成して、=IMPORTFEED(feeds!B3&"?d="&TODAY(),"items")
を実行してあげればITmediaのデータも取得できます。
IMPORTFEED関数の説明
IMPORTFEED関数は、IMPORTFEED(URL, [クエリ], [見出し], [アイテム数])
のような定義になっています。
それぞれ簡単に説明していきます。
URL
URLはフィードURLを指定します。
こちらは必ず渡す必要があります。
本記事の中でfeeds!B2&"?d="&TODAY()
のようにTODAY()
を付け加えているのはキャッシュ対策です。
データを供給するサイト側でキャッシュをしている可能性があり最新のデータを取得できないかもしれないので、常に最新のデータを取得するために付け加えています。
クエリ
クエリは、取得するデータを指定することができます。デフォルトはitems
です。
例えば、=IMPORTFEED(feeds!B2&"?d="&TODAY(),"items title")
を実行するとデータのタイトルだけ取得できます。
その他の指定できる要素はドキュメントにあるので試してみてください!
モグモグさん
多くのケースでは、items
を使うと思います!
見出し
=IMPORTFEED(feeds!B2&"?d="&TODAY(),"items", TRUE)
のようにすると実行結果の一番上に自動で見出しを挿入してくれます。
指定しない場合は、FALSEなので見出しは挿入されません。
アイテム数
最大取得記事数を指定できます。
=IMPORTFEED(feeds!B2&"?d="&TODAY(),"items", FALSE, 1)
のようにすると1つのデータのみを取得できます。
指定しない場合は供給されているデータの全てを取得します。
まとめ
Google SpreadSheetでIMPORTFEED関数を使って、RSSリーダーを構築する方法を解説しました。
データ蓄積したり、定期実行できない点がこの方法の難点ですが簡易的にデータを収集することが簡単にできますね。
データ蓄積や定期実行をしたい場合の解説もしています。よかったらどうぞ!