みなさん,こんにちは。
シンノユウキ(shinno1993)です。
仕事の質をあげ,効率的に実務を行うためには,効率的な情報収集は欠かせません。情報収集の方法やそのためのツールはたくさんあります。その中でも,RSSフィードは古典的で下火ながら,Web上から情報収集する際の第一義的な方法となっています。
しかし,RSSフィードを発信していないサイトも中にはあります。今回はそのようなサイトを対象に,「Feed43」というサービスを活用することで,RSSフィードを作成する方法を紹介します。
では行きましょう!
「RSS」とは?
RSSはRich Site Summary とか,Really Simple Syndication の略で,そのWebサイトの更新情報などを簡潔にまとめた文書規格のことです。専用のリーダーを使用することで,サイトの更新情報を取得できます。
たとえば,何かお気に入りのサイトがあるとしましょう。そのサイトは毎日更新されるわけではありませんが,でも更新されたらすぐに知りたいので,毎日もしくは数時間ごとにサイトにアクセスし,更新されているか確認している。しかし,そのうちのほとんどが空振りで無駄足に終わってしまう。こんなことがあるのではないでしょうか。
そういった場合にRSSは便利な仕組みです。RSSリーダーに,そのサイトのRSSのURLを登録しておくことで,更新があった際に通知されるようになります。上記の手間が省かれ。非常に便利になるでしょう。
RSSの配信されていないサイトをRSSフィードに変換する「Feed43」
しかし,RSSは配信されていないサイトもあります。その場合,今回紹介する「Feed43」を利用すると良いでしょう。RSSを配信していないサイトから,RSSを配信するURLを作成してくれます。
以下で,簡単に使い方を紹介していきます。サンプルとして「日本栄養士会」の栄養業界ニュースを取り扱います。
①ページにアクセス
まずは,「Feed43」にアクセスしましょう。こちらからアクセスできます。
このようなページが表示されましたか?では,上記の「Create your first RSS feed」をクリックし,次のページに進みましょう。
②URLの入力
続いて,RSSを配信したいWebサイトのURLを入力していきます:
- RSSを配信したいURLを入力します。今回は https://www.dietitian.or.jp/trends/ を入力してください。
- ページのエンコーディングを指定します。多くの場合で「utf-8」と入力しておけばOKでしょう。
- 最後に「Reload」ボタンをクリックします。
すると,ページのソースコードが表示されます。表示されていると問題ないです。
③抽出ルールを決める
上記でRSS配信したいページのソースを取得できました。しかし,これはページの全ての部分のソース。RSSで欲しいのは,特定の項目のみです。
今回例に出している栄養士会のサイトでは,欲しいのはニュースのリストの部分です。その他の部分(たとえば左側のサイドバー)は不要ですよね。なので,必要な部分だけ抽出できるようにルールを決める必用があります。
先で示されたソースの部分を見ていくと,特定の繰り返しが見つかるかと思います。
取得したいのは,この繰り返しの部分(ニュース情報)ですよね。この部分を拾えるように,抽出パターンを入力します。
基本的には,<div class="lyt-news_link--item">
から</div>
で囲まれた部分を取得すると良さそうです。その部分で,欲しい情報は以下のようになるかと思います:
この日付やURL,記事タイトルの部分を{%}
で置き換えていきます。
加えて,ソースが改行されている部分には{*}
を入力します。
以下のようになるかと思います:
<div class="lyt-news_link--item">{*}
<p class="date">{%}</p>{*}
<h2><a href="{%}">{%}</a></h2>{*}
</div>
これを「Item (repeatable) Search Pattern」に入力し,「Extract」をクリックしてください。
- 抽出したい部分(URLや記事タイトル)を{%}で,改行されている部分を{*}に置き換えた抽出パターンを入力します。
- 「Extract」をクリックします。
以下のように欲しい情報が抽出できていればOKです。
④フィードの形を決める
次に,RSSフィードのフォーマットを決めます。
最初は,フィード全体についてです:
タイトルやリンク,その説明といった感じです。基本的には最初の設定のままでもOKです。この部分は,後で自分が整理する際などに役立つ部分ですので自分にわかりやすいように変更しても良いでしょう。
重要なのは,次の部分です。実際のRSSフィードの部分:それぞれの記事の部分についてです。これでは,RSSフィードの記事のタイトルや,そのリンクなどを入力します。
- タイトルを入力します。
- Feedに含めるURLを入力します。
- Feedに何らかのコンテンツを含める場合は,ここに入力します。
上の部分で日付や記事のタイトルなど,いくつかの情報を抽出しました。それらが,それぞれ{%1}や{%2}のようにパラメータとして取得できます。それらを,実際のRSSフィードでどのようにアウトプットするかを決めていきます。
今回は,日付:{%1},リンク:{%2},記事タイトル:{%3}としてパラメータが決められました。日付とタイトルを「Item Title Template」に,リンクを「Item Link Template」に割り当てました。そのプロセスは,以下の図のようになります:
これで,RSSフィードのフォーマットを決めることができました!
⑤RSSフィードのリンクを取得する
あとはRSSフィードのリンクを取得し,何らかのRSSリーダーで読み込むだけです。以下のような画面が表示されますので,そのURLを保存しておき,任意のリーダーで読みましょう。
これで終了です。お疲れ様でした!
まとめ
今回はRSSフィードを配信していないサイトに対して,独自のRSSフィードを生成する方法を紹介しました。「Feed43」というサービスを利用することで,これが可能になります。RSSはかなり人気が落ちていますが,それでも第一義的な方法であることに変わりはありません。ぜひ使ってみてください!