2009年5月2日土曜日

Pipeを使ってみた



つい最近知ったのですが、Yahooの運営するPipe(http://pipes.yahoo.com/)というサービスが最高に面白いです。


■そもそもPipeって何?
Pipeは、「数々のWebサービスが提供するRSSフィードなどのデータを簡単に加工して、別のRSSフィードなどのデータに変換して出力することができるサービス」です。「データ取得元」や、「繰り返し」、「文字列加工」や「URL生成」などのパネルをパイプでつないで、簡単なWebアプリケーションみたいなものを作ることができます。
もちろん無料です。必要なのは米Yahoo(http://www.yahoo.com/、日本のYahooではダメです)のアカウントだけ。
サーバー代金もいりません。好きなだけ新しいPipeを作ることが出来ます。


■さっぱりわからない。Pipeを使えば何が出来るのか具体的に知りたい。
たとえばこんなことが出来ます。
  • ニコニコ動画のマイリストIDを入力すると、マイリストのRSSフィードを生成して返すアプリを作ることが出来る。
  • ニコニコ動画のユーザーIDを入力すると、そのユーザーが公開している全動画のnicomimi(http://www.nicomimi.com/)へのリンクを自動的に生成してRSSフィードとして返すアプリを作ることが出来る。
  • ニコニコ動画の本日のランキング動画一覧から、タイトル・タグ・本文のいずれかに「東方」が含まれていて、再生回数が2万を超えている動画だけを抜き出してRSSフィードとして返すアプリを作ることが出来る。
ね?便利でしょ?


■わかったけど、それって難しくない?
では試しに、ニコニコ動画のマイリストIDを入力すると、マイリストのRSSフィードを生成して返すアプリを作ってみましょう。
Pipe(http://pipes.yahoo.com/)にアクセスして、Yahoo.comのIDでログインして、Create pipeってボタンを押して、何も考えずに左のサイドバーから以下のようにパネルを並べます。


簡単に説明すると、
1.マイリストIDをユーザーにテキストとして入力させて、
2.入力値を元に、ニコニコ動画のマイリストRSS取得用のURL(http://www.nicovideo.jp/mylist/5221166?rss=atom)を生成して、
3.URLからRSSフィードを取得して、
4.そのまま出力しているだけです。

実行結果はこちら。


ばっちりです。所要時間10分。サーバーの設定もデプロイも面倒なコーディングも一切いりません。デバッガも標準で付属(Pipe作成中にパネルをクリックすると実行結果がその場で見られる)。マウス操作だけで簡単に作れて、見た目がそれっぽいダイアグラムになるので、自分の作りたいWebサービスのちょっとした動作確認にも使える気がします。駆け出しのWebプログラマが、マッシュアップのセンスを磨いたりするのにも適していると思います。


■問題点
問題点もあります。主に日本人が使う上での問題点なのですが、
  • 全部英語
  • そもそも使いたいサービスがAPIやRSSフィードを公開していないと使えない
そう、使いたいサービスがAPIを公開していないケースが余りにも多い。ニコ動もキーワード検索結果がRSSで出ませんし、pixivに至ってはそもそもAPIの概念自体が無い。これでは「指定したマイリストIDのマイリスのうp主コメ中にpixivへのリンクが存在したらリンクをたどってpixivユーザーのIDを抜き出し画像全部RSSフィードとして取得する(ついでにお気に入りにも突っ込む)」みたいなアプリが作れません。逆にいえばAPIやRSSフィードのあるサービスであれば可能性は無限大です。サービスの提供している検索結果一覧やRSSフィードの内容が気に入らないなら、自分でPipeを書いて自分の好きなように調整すればよいのです。