特集

サイトの更新情報を提供する標準言語RSS

株式会社ピーデー
川俣 晶
2003/08/30

Page1 Page2 Page3

■RSS活用編

RSSを体験する

 RSSを体験するには、2つの手順が必要である。1つは、RSS情報を扱うソフトをインストールすること。もう1つは、RSS情報を提供しているサイトを見つけ出し、その情報をソフトに登録することである。あとは待っていれば、定期的にRSS情報がチェックされ、新しいコンテンツが公開されれば、それをソフトが教えてくれる。

 では、RSS情報を扱うソフトについて見てみよう。これは大きく分けて2つのタイプに分けられる。1つは、独立した1つのプログラムとして動作するタイプである。これは、通常のアプリケーションとしてWindowsにインストールして使う。もう1つは、Webサイトにインストールされ、Webブラウザで結果を見るタイプである。しかし、後者は定期的にRSS情報をチェックして更新されたとしても、それを知るにはいちいちWebブラウザで見に行かねばならない。やはり、RSSらしさを堪能するには、前者のタイプがよい。このようなソフトをRSSリーダー、アグリゲーターなどと呼ぶようである(aggregateは「集める」の意味)。

 さて、アグリゲーターを使うと決めた場合、どのようなソフトがあるのだろうか。いくつかここで紹介してみよう。

 Windowsアプリケーションとして作成されたアグリゲーターである。GPLのライセンスで提供されている。筆者は使用していないが日本語表示に問題があるという話も聞こえる。

 .NET Framework上で動作するアグリゲーターである。ごく普通のWindowsアプリケーションとして動作するので、事前に.NET Frameworkをインストールする必要があることを除けば、特に意識することなくWindows上で使用できるだろう。

 先の2つは米国製で、サイトも英語だった。しかし、これは国産ソフトである。継続して使用するにはライセンスを購入しなければならないが、期間限定で全機能が体験できる体験版もある。

 ここではSharpReaderを使ってみることにしよう。SharpReaderを選んだ理由はいくつかある。まず、筆者が使っていて日本語サイトも問題なく扱えることを確認できていること。無料で使用できること。Insider.NETの記事である以上、.NET Framework上で動作するソフトを取り上げたいと思ったこと、などだ。

 インストールの手順は難しくない。作者のサイトよりZIP圧縮されたファイルを入手して解凍、適当に用意したフォルダ内に置くだけでよい。あとは、SharpReader.exeを実行するだけである。

 初期状態ではいくつかのサイトがすでに登録済みなので、すぐにそれらのサイトの最新の記事を見ることができる。

アグリゲーターの1つ「SharpReader」
米国製だが日本語サイトも扱えるフリーウェア。マネージ・コードで作成されているため、実行には.NET Frameworkが必要。画面左のツリーには初期状態でいくつかのサイトが登録されている。
  登録されているサイトの一覧
  で選択したサイトで公開されている記事のタイトル一覧
  で選択した記事の内容

 上記の画面で表示している「Luke Hutteman's Weblog」とは、SharpReaderの作者のサイト。SharpReader自身のバージョンアップ情報も、ここを通してSharpReader自身で知ることができる。「Wired」はマニアックな話題を提供する雑誌として名前が知られたワイヤードのサイト。「CNet News.com」は、これも有名なIT系ニュース・サイト。「Slashdot」はマニアックな話題を提供、討論するサイト。「Scripting News」はDave Winer氏のウェブログである。それなりに面白いものが初期状態で登録されている、という感じかもしれないが、すべて英語のサイトである。これではいまひとつ面白くない。日本語のサイトも体験してみよう。

 最初に一例として、@ITのサイトを登録してみよう。@ITが提供するRSS情報を得るには、まず@ITのトップページへアクセスし、ページ最下部のRSSフィードについてをクリックする。すると、「RSSフィードについて」というページに移動する。ここに、RSS情報へのリンクが多数並んでいる。すべてのフォーラムの情報を提供するものと、個々のフォーラムの情報を提供するものがあると同時に、異なる3つのバージョンによるRSS情報が用意されている。RSSのバージョンの相違については、後で説明を加えるが、ここではどのバージョンを使ってもよい。取りあえず、一番上にある「すべてのフォーラムの新着情報15本(RSS 2.0)」を使ってみよう。このリンクのURLをクリップボードに入れよう。Internet ExplorerならRSSアイコン()の上で右クリックし、[ショートカットのコピー]を選ぶ。そして、SharpReaderの[Address]テキスト・ボックスに貼り付け、リターン・キーを押す。

 すると、このサイトの更新情報が表示される。

@ITのRSS情報を利用して最新記事一覧を表示
  RSS情報のあるURL(http://www.atmarkit.co.jp/rss/rss.xmlなど)を入力して、リターン・キーを押す。

 右上のリストに@ITの記事一覧が見えるので、そこから読みたい記事を選ぶことができる。ただ単に選択するだけだと、上のように記事のダイジェストが右下に表示される。このダイジェストはRSS情報内に記述されているので即座に表示され、実際に記事の本文を読むかどうかを決めるのに役立つ(ただし、ダイジェストは提供しているサイトとしていないサイトがある)。

 本文を読もうと思ったら、右上のタイトルをダブルクリックする。すると、本文がインターネットを通して読み込まれ、右下に表示される(下図)。

 これで好きな記事を読むことができたが、このままでは、再度@ITの記事を読むときには、@ITのRSS情報のURLを入力しなければならない。このままずっと@ITのサイトの更新をチェックし続けるには、ウィンドウの左上にある[Subscribe]ボタンを押す。すると、以下のようにウィンドウ左側のツリーに、@ITという名前が追加される。これ以後、SharpReaderが定期的に@ITのRSS情報をチェックし、更新を調べてくれる。

定期的に更新をチェックするためにサイトを登録
RSS情報のURLを入力し、[Subscribe]ボタンを押すとサイトが登録される。以降はSharpReaderが定期的にRSS情報の更新をチェックし、記事一覧が最新に保たれる。
  RSS情報のURLを入力し、[Subscribe]ボタンを押す。
  登録された@ITのサイト。これをクリックすると@ITの記事一覧が表示される。

 @ITだけでは寂しいので、もっといろいろなサイトを登録してみよう。どのサイトがRSS情報を提供しているかは、検索エンジンを使えばすぐ分かる。筆者のSharpReaderに登録されているサイトをいくつか紹介しておこう。まず、筆者自身のサイト「オータム マガジン」。それから、日本におけるRSSの教祖的な存在である神崎正英さんのサイト「The Web KANZAKI - Updates as RSS」を登録するのもよいかもしれない。SharpReaderに標準で登録されるサイトの日本版もRSS情報を提供している場合がある。例えば、「CNET Japan」や、「WIRED NEWS(日本版)」などもある。大きなメディアではなく、もっと小規模なところでもRSSを使っている例がある。例えば、自社サイトの情報発信にRSSを利用しているBeaconIT社の「Tamino Technical Site」、日本のXML界で活躍する難波亮丞さんの「宮台真司とその思想 : 更新情報」、オータムマガジンと同じシステムを使っているイースト株式会社の「万華鏡」などもある。

 本当は、既存サイトのデータを再加工してRSS情報を提供しているサイトも紹介したいところだが、その中には、その種の再利用を望まないサイトもあると思われるので紹介は割愛した。しかし、そういうデータ加工は非常に有益で、日本におけるRSSの使い勝手を上げることに貢献していると思う。本当なら、大手の情報提供サイトであれば、自ら積極的にRSS情報を提供して読者の便宜を図るべきところだろう。新聞社などのニュースを提供するサイトでは、ぜひともRSS対応を検討していただきたい。

RSSの暗黒面:仕様の混乱

 さて、ここまでは主にRSSの明るい面を紹介してきたが、残念ながらRSSには暗黒の面もある。問題が起きているのは、主に仕様に関してである。RSSにはいくつかのバージョン番号を持つ仕様が存在している。実際にRSSのバージョンとして話題に登るものには、0.9、0.91、0.92、0.93、1.0、2.0などがある。これらのバージョン番号は、一連の数字で表現されているものの、直線的な進化というわけではない。例えば、1.0と互換性を持ちつつ改良されたものが2.0、というわけではないのである。

 最初のバージョンである0.9は、Netscape社が開発したもので、RDFをベースとする言語であった。RDFというのは、Resource Description Frameworkの略で、メタデータを処理するための基盤である。メタデータとはデータについてのデータである。例えば、「RSS入門」という記事は一種のデータである。そして、「RSS入門という記事が、某月某日に@ITに掲載された」という情報は、「RSS入門」という記事についてのデータ、つまりデータについてのデータであるため、メタデータであるといえる。サイトの更新情報もメタデータの一種であるとすると、これをRDFを使って表現していくのは自然な流れといえる。しかし、0.91ではRDFは複雑すぎるとして却下されてしまう。この後、RSSはNetscape社の手を離れ、新しい展開を見せる。RDFベースにして、名前空間を用いた拡張性も与えられた1.0が誕生する。しかし、RDFや名前空間が複雑すぎるとして反対する勢力もあり、これが0.92/0.93を提案しており、さらにこの延長線上に2.0があるという。つまり、2.0は1.0の延長線上にはないのである。

 これらの歴史は、神崎正英さんのサイトに記述された「RSSの登場と変遷」を参考にさせていただいた。より詳しい話は、こちらのサイトで読むことができる。

 こういった背景により、世の中にはさまざまなバージョンのRSSデータが存在している。また、RDFそのものも、「Resource Description Framework (RDF) Model and Syntax Specification」という仕様を改訂しようという議論が行われており、その結果として、属性の名前空間指定などの一部に変更があるという。そのような状況から、任意のRSS情報を読み込んで活用するプログラムを作成することは容易ではない。多くの種類の相互に互換性のないRSS文書を正しく扱うようにプログラムを作成する必要があるためである。その点で、RSSはややハードルの高い技術になっているといえる。

 しかし、そこでRSSに対して尻込みする必要はない。というのは、多くのプログラマーにとって、RSS情報は読み込むべきものではなく、生成すべきものだからである。プログラマーのだれもがRSSアグリゲーターを開発する訳ではない。しかし、読者からRSS情報を出してくれ、とリクエストされた結果、RSS情報を生成するプログラムを作成する必要に迫られる状況は、Webシステム開発者であれば、だれにでも訪れる可能性があるといえる。そのような立場でRSSにかかわる場合は、世の中で使われているいずれか1つのバージョンについて知っていればよい。それはけして難しいことではない。


 INDEX
  [特集]サイトの更新情報を提供する標準言語RSS
     1.RSS入門編:アメリカではやるウェブログとRSSとは?
   2.RSS活用編:SharpReaderでRSSを体験する
     3.RSS開発編:RSS情報提供機能をASP.NETサイトに付加する
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間