毎日サイトを訪ねるのが面倒?コンピュータ理工学(CS)の面白さ #2

はじめに

皆さんは、毎日のルーティンとして巡回しているWebサイトはありますか?
 私はあります。「日経クロステック」や「サイエンスポータル」、そしてもちろん「山梨大学 学生広報スタッフ特設サイト」も。
しかし、毎日ニュースサイトやブログを見に行くと、ふとこんなことを思いませんか?
「更新されていないのに、わざわざ見に行くのは面倒だな……」
実はそれ、RSSという技術を使えば解決できます。
今回は、情報のチェックを自動化する「RSS」と、その裏側にある技術についてご紹介します。

RSSとは

RSS(Rich Site Summary)とは、Webサイトのニュースやブログなどの更新情報を、コンピュータが扱いやすいように構造化して配信するためのフォーマット(記述形式)です。
Webサイト側は、人間が見るための「Webページ」とは別に、更新情報だけをまとめた「RSSフィード(XMLファイル)」を用意しておきます。
 ユーザーは「RSSリーダー」と呼ばれるソフトウェアを使います。
このソフトがあなたの代わりに定期的にWebサイトへアクセスし、更新があるかどうかをチェックしてくれます。

RSSを使ってみよう!

まずは、RSSリーダーを入手しましょう。 アプリストアで「RSSリーダー」と検索すると様々なアプリが出てきます。
ここでは、私が作成した自作アプリを例に説明します。

次に、購読したいサイトの「RSSフィードのURL」を取得します。
今回は学生広報スタッフサイトを例にします。
フィードURLは <https://www.yamanashi.ac.jp/feature/feed>です。
これをRSSリーダーに登録すると
以下の写真のように、サイトの更新情報が自動的にリストアップされました!

これで、わざわざサイトに行かなくても「新しい記事が出たときだけ」読むことができます。便利ですね。

まとめ

RSSを使えば、情報収集の効率が劇的に上がります。ぜひ、学生広報スタッフのサイトもRSSリーダーに登録してみてください。

おまけ

ここからはCSの視点で、RSSの裏側を覗いてみましょう。
なぜRSSリーダーは記事のタイトルや要約を正確に抜き出せるのでしょうか?

データ構造を見る(XML)

RSSフィードの実体は、XML(Extensible Markup Language) という形式で書かれたテキストファイルです。 HTMLが「人間が読むための見た目」を作るのに対し、XMLは「コンピュータがデータを読み取るための構造」を記述します。

以下に、実際のフィード(一部抜粋)を示します。

構造の解説:

  • <rss>: ここからRSSが始まるという宣言。
  • <channel>: チャンネル(サイト全体)の情報を格納する場所。
  • <item>: 個別の記事データ。このタグ1つが記事1つに対応します。

RSSリーダーは、この <item> の中にある <title>(題名)や <link>(URL)をプログラムで抜き出して表示しています。

RSSを読もう

 実際にアプリで使用したKotlinのRSSパーサー(RSSフィードの内容を解読する機能)のコードを以下に示します。

上記コードでは、XmlPullParserを使用して、XMLを一行ずつ読み込みを行います。
今どのタグを読み込んでいるのかをwhenを使って分岐することで、if else文よりも効率的に分岐できます。

まとめ

実際の商用のRSSアプリはRSS1.0やAtomなどさまざまな形式に対応させるために、複雑なことをしていると思うとすごいなと感じます。
今後も、大学のことやCS分野の記事などさまざまなことを書きたいので、ぜひRSS に追加してみてくださいね。

担当:木島