Magpie RSS

リンクのページにある「お友達のサイト」にある人達で Weblog を運営しているサイトに、RSS による記事の取得機能を付けてみようかなと思っています。目指せ、セマンティック・ウェブ!!

PHP で動く RSS Reader

RSS Reader って?
  • RSS Parser?
  • RSS Reader?
  • RSS Aggregater?
  • RSS Feeder?

 とにかく、色々な呼び方があって困るのですが、かつて DVD が "Digital Video Disc" "Digital Versatile Disc" などの色々な呼ばれ方をしていたように、異なる方面がそれぞれ勝手に名称を決めてしまったもので、指し示すものは同じです。
 これら(以下 RSS Reader とする)は RSS という情報を取りにいって、各サイトの最新情報を得るためのツールです。RSS Reader を使うことでわざわざサイトを訪れなくとも、内容が更新されたこととその内容が簡単かつリアルタイムに把握出来るので、更新頻度の高いサイトであっても常に最新の情報を得ることが出来るという仕組み。ウェブログの普及とともに急速に広まった経緯から、大抵のウェブログサービスであれば対応しています。もちろん、当サイト内のウェブログも対応していますよ。

 こんなマークRDFが目印です。他にも RSS とか RDF と書いてあったりすることもありますし、"Syndicate this site (XML)" というテキストで案内していることもあります。 *1
 新聞社などのニュース配信サイトでは最新ニュースを、テレビ局・ラジオ局では番組情報を、その他各種企業においてプレスリリースや新製品情報、サポート情報を、RSS を使ったヘッドライン情報として配信する事例も増えています。

Windows で動く RSS Reader

 Mozilla FirefoxOpera などではブラウザ自体に RSS Reader の機能を既に持っていますし、Internet Explorer でも 7.0 から RSS Reader の機能を持つようになるはずです。 *2

 ブラウザ内蔵の機能も悪くありませんが、専用ソフトを使えばメールを読むように最新情報を知ることが出来るので、もっと便利です。私は専ら Sharp Reader というソフトを使っていて、これは異なる日本語文字コード(UTF-8 や Shift-JIS や EUC-JP など)が混在していても文字化けを起こさない点で優秀です。まぁ文字化け云々を気にしなければならなかったのは、長らく和製のソフトウェアがなかったせいで、最近では glucose などの優れた和製ツールも増えてきています。

 最近では ATOM という別の規格も台頭してきていて、規格的な面がちょっとぐちゃぐちゃになりつつありますが、今後もそれらの進展から目が離せません。

Web サーバ上で動く RSS Reader、 Magpie RSS を選んだ理由

 とまぁ、前置きが長くなりました。まぁ長くなるのはいつものことなんですが(笑)、いよいよ本題です。ここからちょっと専門的な話に入ります。

 現在のリンクのページに RSS Reader の機能を持たせ、記事単位での更新情報を表示させたいと思っています。しかし RSS はまだまだ発展途上のものだけあって、まだまだツールが少ないです。特に複雑怪奇を極める日本語文字コードを問題なく処理出来るものは、まだまだちょっとしかありませんし、あったとしても機能的に不十分なものばかり。
 サーバインストール型 RSS Reader は、以下のものを実際にサーバにインストールして試しました。

RNA

 RSS Feed の管理もブラウザ上から行える(ように見える)ツール。しかし Perl ベースの CGI なので動作速度の遅さが将来的にネックになりそうなのと、3-tadpoles サーバは /cgi-bin/ 配下にしか実行プログラムを置けない(置きたくない)ので、頑張ってそういう仕様で動かすべく弄ってみたのですが、結局動かず。問題は Apache コビトさんの設定かも知れませんが、深追いはしていません。

鬼…なんとかっていう名前の、だったと思う。(笑)

 …すいません、使えないと分かったら速攻でサーバから削除してしまったのでツール名を失念してしまいました(笑)。和製ツールでした。思い出したらここに付け加えます。ちなみに PHP ベースのツールでしたが、機能が全然無いのでパスです。あと文字コードの取り扱いに不備があってしょっちゅう文字化けするのでやっぱりパスです。

Magpie RSS

 これに落ち着いた理由は、

  1. 文字化けがない(古来からの jcode が使える)
  2. PHP 関数として提供されるので、機能を上げるのは自分の腕次第?なので見込みもありそう?
  3. PHP ベースなので動作も CGI ベースよりは速い(はず)。
  4. PHP ベースなのでデザインの自由度も高いだろうから、今の 3-tadpoles デザインに合わせるのが容易。
  5. そこそこの頻度でバグフィクスは行われている(ようだ)

 というわけで。

で、作ってみた。(トリビアの泉風に)

 技術的な理由で、ページが表示されるのがすっごい遅いかも知れません。そのときはじっとガマンの子でお願いします。目安としては、いつもの他のページが表示される時間プラス数秒くらいかかると思います。更新ボタンを連射されたりすると、無駄なセッションが発生しますので。

 書式的にはこんな感じで行きたいと思っていますが、まだ手を付けなければならないところは沢山ありますね…

どなたか教えてください!

 とりあえずはこの仕様で様子を見て、他に良いツールがあればそっちに乗り換える(笑)ことも考えますし、これでいくのしかないようであれば色々手を加えていきますし、ってところです。ベータバージョンを作るにあたって色々な謎も沸きましたが、全然資料が無くていまだに分かりません。

  1. "Magpie RSS" って、何て読むんでしょう? まぐぴー? まぐぱい? まぐぴえ?
  2. PHP を最新のものにアップデートしたのですが、mb_convert_encoding 関数がいまだにエラーになります。Debian だと問題なく動いているようなんですが、3-tadpoles に使っている Redhat 系列 Linux だとダメなのかしらん?
  3. 記事の概要(excerpt)は使えるのかなぁ?
  4. バナー情報は使えるのかなぁ?
  5. chache フォルダにナニも見えないんですが、本当にキャッシュされているのか不安です。

 他のことに関してもベータバージョン上に書いて、実践していきたい所存です。

技術参照元一覧

 とりあえずここまでこぎ着けるのに参考にさせてもらった技術参照元一覧は以下の通りです。Pukiwiki のときもそうでしたが、こういうのって書籍の類が全くないんですよね。あっても英文ばかりで。これからもお世話になります。

  • *1 規格が乱立している関係で、ちょっとこの辺がごちゃごちゃしていて分かりにくいんですよね。
  • *2 Mozilla Firefox はライブブックマーク、Internet Explorer 7.0 は Web フィードという名前で機能名です。これらのブラウザ以外にも Sleipnir2、Safari、風博士などでも RSS が使えます。

--
January 9, 2006 Comments (6) Trackback (0)
HASU さん January 10, 2006 01:05 AM

Magpieはマグパイと読むみたいですよ~。
ベータバージョンのページにアタシんとこの記事があって、何故かちょっと笑っちゃいました(笑)

MUNETO さん January 10, 2006 06:06 AM

私も使っていますが、概要大丈夫ですよ(・∀・)

ちょっと解りづらいですが、
http://muneto.net/data/000108.php
に、少しかいておりますです。

たけだ@管理人 さん January 11, 2006 08:47 PM

>HASU さん
 「まぐぴー」なら可愛くて良かったんですが…

>MUNETO さん
 技術供与(?)ありがとうございます。こんな身近に同士がいるとは。PHPも(ちょっとだけ)お勉強します。MUNETO さんのサイト、RSS のリストの加えさせてもらったんですが、ありゃりゃ文字化けしてしまいました。まだまだ研究の余地ありです。

ELF さん January 13, 2006 02:19 AM

トラックバック&リンクありがとうございます
綺麗なデザインのサイトですねー

さっそくですが,mb_convert_encodingが使えないのは

・php-mbstringが入っていない(最近のRed Hat系)
・mbstringを含んだビルドがされていない(Red Hat Linux 9)

かもしれません.前者ならphp-mbstringのRPMをインストールしてください.
後者なら手前味噌ですが

PECLや標準拡張モジュールなどを後でビルド・インストールする
http://wiki.poyo.jp/read/PHP/tips/mod/add_later

でも参考にしてみてください

たけだ@管理人 さん January 14, 2006 12:22 AM

>ELF さん
成る程、そんな事情があったのですね。ちなみに当サーバは Fedora 3 で、ついこの前までは Red Hat Linux 9 でした。
早速 php-mbstring-4.3.11-2.8.i386.rpm を追加してあげたらエラー無く動作してくれるようになり、日本語処理に mb_convert_encoding を使う仕様に変更すると、一切の文字化け問題もなくなりました。どうもありがとうございます。

Orbisursinusy さん April 30, 2008 12:33 PM

Регистрация доменов в зоне RU по 115 рублей за год,
подробности на сайте - www.rusureg.ru, icq - 575225

コメントする
(必須)
(必須)

  • 投稿ボタンは一度だけ押してください。
  • コメントスパム対策のためにやむなく検閲を設けています。サイト管理人がスパムでないことを確認の後にサイト上に反映させるため、コメントが表示されるようになるまで約一日程度お待ちください。
  • 投稿ボタンを押して反応が無くとも、「しばらくじっと我慢の子」でお願いします。