どうもYnek0です。
今回はGoogleスプレッドシートの関数でRSSを取りに行く関数と言う事でやっていきましょう。
前提知識としてRSSとはって所をAI大先生にちょっと応えてもらいましょう。
RSSとはウェブサイトの更新情報を効率的に収集し、配信するための技術です。
この技術は、主にXML形式を使用しており、ユーザーがウェブサイトの最新情報を簡単に取得できるようにします。
と、AI大先生が答えているのですが、まぁシンプルに毎回サイトが更新しているか確認するの面倒くさいからそこら辺システムがいい感じに通知してくれるよねって奴です。
Ynek0もそりゃもう毎日のように使っていて年単位でお世話になっている技術です。
更新を待ち望んでるサイトは山のように存在します。IT系技術者であれば毎日追わないといけません。
最新のIT技術動向やいま勢いのある企業の技術ブログ、推しのエンジニア特集や今期の新作アニメ、新作ラノベに同人誌情報、むふふな画像サイトの更新確認等々確認しない日はありません。
昔、GoogleReaderってシステムがありその名の通り天下のGoogle様がRSS界隈を牛耳っていましたがそのサービスが何故か終了していまい、今はひっそりといくつかのサービスまたは自作してRSSを活用されている方が多いと思います。
今回ご紹介するこの関数はそのRSSフィードをGoogleスプレッドシートに取り込むための関数です。
「IMPORTFEED」という関数なんですがその使い方と応用例、さらにエラー発生時の対処法について解説していきます。
IMPORTFEED関数の使い方
IMPORTFEED関数は、RSSフィードやAtomフィードをGoogleスプレッドシートに取り込むための関数です。基本的な構文は以下の通りです。
IMPORTFEED(URL, [クエリ], [見出し], [アイテム数])
- URL: RSSフィードまたはAtomフィードのURLを指定します。プロトコル(
http://
など)も含める必要があります。 - クエリ: 取得するデータの種類を指定します。デフォルトは
"items"
で、フィードのアイテム全体を取得します。 - 見出し: 返されるデータの最上部に列見出しを含めるかどうかを指定します。デフォルトは
FALSE
です。 - アイテム数: 取得する記事の数を指定します。指定しない場合、フィードに公開されているすべてのアイテムが返されます。
まぁ色々と書かれている基本構文を見ていると頭が痛くなるんですが、基本RSSもしくはAtomのURLさえ入力すれば難なく使えます。ダブルクォーテーション(")で囲うことを忘れずに
例えばYahoo!なら以下のサイトに移動してそのサイト内のいずれかのリンクのURLをコピーすると使えます。
使用例
例えば、Yahoo!ニュースの主要トピックのRSSフィードを取り込む場合は次のように記述します。
=IMPORTFEED("https://news.yahoo.co.jp/rss/topics/top-picks.xml")
この関数をスプレッドシートに入力すると、指定したRSSフィードから最新のニュース項目が取り込まれます。
実用的な応用例
毎日配信メール活用:
- 1番利用しやすい形なのはGoogleスプレッドシートにRSSで取り込みをしてそれらを一覧にしてGoogleスプレッドシートのトリガー機能を利用して時間指定してGmailを送信するGASを実行させるって方法がルーティーンに組み込みやすいです。設定方法やGmailのGASの作り方などは以下参照
エラーの切り分けと対処法
IMPORTFEED関数を使用する際に発生する可能性のあるエラーとその対処法をいくつか紹介します。
- URLエラー: 指定したURLが正しくない場合、エラーが発生します。URLが正しい形式で入力されているか確認してください。
- データ取得エラー: フィードが存在しない、またはアクセスできない場合に発生します。フィードのURLが有効であることを確認し、インターネット接続を確認してください。
- フォーマットエラー: 取得したデータがスプレッドシートに適切に表示されない場合があります。この場合、クエリや見出しの設定を見直してみてください。
まとめ
今回はIMPORTFEED関数についてお話ししました。
まずは初めてRSSを触る人にとってはちょうど良い機能ではないでしょうか。
慣れて来たらFeedlyやInoreader等のサービスに登録して使っていくなどを考えても
良いかもしれないですね。