2004/01/10 土
Bulkfeeds と FeedBack を導入
RSS 検索サービスである「Bulkfeeds」と「FeedBack」は、検索結果の RSS を出力してくれます。僕は LEGO に関するエントリーを RSS で取得するためにこれらを使わせてもらってます。miyagawa & naoya 両氏グッジョブ!
Bulkfeeds のほうは、Weblog のほかに日記サイトやニュースサイトなど、RSS を配信しているところならなんでも対象としているため、RSS アグリゲータに食わせて主に情報収集に使っています。これはかなり強力ですねぇ。「lego or レゴ」でひっかけているのでそんなに数が出てきませんが、もっとメジャーな単語だったら item 総数20個からもれてしまうのではないでしょうか(^^
FeedBack のほうは、Ping サイトに更新通知しているサイト(主に Weblog)を対象としています。これは Weblog 間のつながりを作るのにいいかなぁ、と思い mt-rssfeed を使って weblog のトップページに表示させるようにしてみました。mt-rssfeed の「MTRSSFeedItemElement」というタグを使って、エントリーの作成元も表示させるようにしてみました。
以下はその方法です。
エントリーの作成元は、FeedBack が出力する RSS の 各 item 要素内に「ag:source 要素」として表現されています。mt-rssfeed が提供するタグにはこの要素を扱うためのものがありません。「でも表示させたいなぁ、うーん困った」とドキュメントとにらめっこしているうちに、「MTRSSFeedItemElement」というタグを発見しました。これは mt-rssfeed がサポートしていない item 要素内にある要素を出力するタグです(channel 要素内で使う「MTRSSFeedElement」というタグもありました)。これを使えばできそう!といざチャレンジ。
これらのタグは name 属性に対象要素の名前空間を指定することで動作します。RSS の名前空間宣言部を見てみると、「xmlns:ag="http://purl.org/rss/1.0/modules/aggregation/"」と宣言されているため、ag:source 要素は「http://purl.org/rss/1.0/modules/aggregation/source」と表せることがわかります。そこでテンプレートに以下のように記述しました。
<ul> <MTRSSFeedItems lastn="10"> <li><a href="<$MTRSSFeedItemLink$>"><$MTRSSFeedItemTitle jcode="euc"$></a> - <$MTRSSFeedItemElement name="http://purl.org/rss/1.0/modules/aggregation/source" jcode="euc"$> </li> </MTRSSFeedItems> </ul>
結果はご覧の通り、きちんとサイト名が表示されるようになりました(もちろんかなり試行錯誤した結果ですが(^^;))。これにプラス weblog のリビルドを cron にて定期的に行うようにしたので、そこそこな最新情報が表示されるようになっています。
同じようにエントリーの作成日時も表示させようと思ったのですが、ISO 8601フォーマットで提供された日付を任意のフォーマットで表示する方法がわからず、とりあえず保留です。プラグインとかないかなー。
てゆうか、RSS を取り込んだとたん悲しい知らせがいっぱいなのが泣けてきます(T_T) 普段はほとんど更新情報あがってこないんですが(^^; LEGO と Weblog 両方やってる人は少ないのかな?
参考エントリー:
NDO::Weblog: FeedBack: RSSリーダと連携する、新着記事追いかけウェブアプリケーション
blog.bulknews.net: 全文検索の RSS Feed を開始
初めまして! うちのRSSSearchでまもなくRSSメッセージ対応します。そうしたら、様々なRSS検索エンジンの最新検索結果をご提供できるようになると思います。是非、LEGOで集めてみてください。








