たたみラボ

  • about
  • member
  • r&d
  • blog
  • tatamicast

blog

RSS

ETech07 - Yahoo! Pipes XMLの読み込みも可能に

icon April 3, 2007 3:07 PM by funami このエントリーを含むはてなブックマーク

フナミタカオです。

Yahoo! Pipesについてはもうすでに、ご存知の方も多いかもしれませんが、ETechでは3日目の午後に、Pipes: A Tool for Remixing the Web のセッションがもたれていました。また、展示ブースでは、Yahooの今回一押しがこのYahoo!Pipes。

今回の目玉は、入力データとして、XMLも可能になったということです。
これまでは、入力には、RSSだけだったのですが、XMLがサポートされたということで、Webサービスをフィードして、データをリミックスできるといういうことに。

試してみる1: Yahoo! JapanのRSSを取り出すというシンプルなデモ

展示ブースでの、デモを見て、実際に試してみました

Yahoo! JapanのRSSを取り出すというシンプルなデモ
http://pipes.yahoo.com/pipes/pipe.info?_id=_t2znsDc2xGCOfxFn0artA
本当にシンプルで、検索ワードの入力フォームに、文字を入れたら、その条件の検索結果がRSSでかえるというもの。
リンク先の画面で、検索ワードを入れると、一覧が出ますが

y1.jpg


中で動いていることは、エディタを見てもらえばOKなのです

y2.jpg

1TextInput
(Pipes実行時には、テキストの入力フォームになる)

2URLBuilder
 ここで、入力したテキストをクエリパラメータとしたURLを作る。
 http://rss.rdy.jpは「 Yahoo!の検索結果をRSSにする 」YahooWebサービスを使ったサービス。

3Fetch Feed
 RSSを読み込む。

4Pipe OutPut
 読み込み結果の表示

すごいシンプルなデモなのですが、流れがわかるかと思います。
そして、このFetch Feedはこれまで、RSSしか読めなかったので、WebサービスをXMLを読むことができませんでした。データのフォード元としては、Pipesが用意している、

Flikr
Google Base
Yahoo! Local
Yahoo! Search
以外は、RSSフィードしか読めませんでした。

今回のETechにあわせて、公開された、Fetch Dataモジュールを使うと、Webサービスをフィード元にしてすることができます。


試してみる2: ホットペッパーWebサービスからRSSを作る


今回のETechにあわせて公開された、書きましたが、実はETech3日目にはまだできておらす、「もうすぐ」という説明でした。
4月2日現在、Fetch Dataモジュールは使えるようになっていますが、サンプルが見当たらないので、本当、まだできたてのようです。

サンプルがなくて、使い方がよくわからなかったのですが、
Developer Help>Re: Fetch Data Module--no example
を参考に、なんとか、作ってみました。

ホットペッパー テスト
http://pipes.yahoo.com/pipes/pipe.info?_id=lku4N8Tc2xGPusk6lfXiAA
↑こちらを実行すると、検索結果が一覧となって出てきます。


y3.jpg


1TextInput
(Pipes実行時には、テキストの入力フォームになる)

2URLBuilder
 ここで、入力したテキストをクエリパラメータとしたURLを作る。
 ホットペッパーWebサービスを利用

3Fetch Data
 XMLを読み込んむ。
  Itemとして、指定された Shopという要素でリストを作る。
 ホットペッパーの場合はResultsの中に複数のShopが含まれる構造ですが、この場合は[Shop]と指定すればOKです。[Result.Shop]とかにはしなくてOK。

4Rename
 ShopNameをTitle、ShopUrlをlink、ShopChatchをdescriptionに変更 

5Pipe OutPut
 読み込み結果の表示

検索テキストの入力とURLを作るとことは、先に紹介した例と同じですがポイントは、Fetch FeedではなくてFetch Dataを使うという点、Fetch Dataで取得したItemの要素をRSSの要素名に変更しているという2点です。

これも非常に簡単な例ではありますが、XMLを元にできるということで、マッシュアップ的な使い方がもっともっとできるのではないでしょうか。
もうすこし、複雑な例もこれから、試してみようと思います。

できそうでできないこと

・Webサービスで取得した、要素をつなぎ合わせる。  例、ShopChatch+FoodNameでdescriptionを作る

・JavascriptScriptモジュール
JavaScriptでFunctionを指定すると、それが、そのまま、モジュールになるとうれしいのですが、まだそのような機能はないようです。もちろん、誰もがこのような機能をほしいわけじゃないけれど、カスタムモジュールを共有できれば、わかる人に作ってもらって、わからない人も、便利モジュールとして使うなんていうことができると思います。
まあ、最適化とか、いろいろ絡んできて、肥大化しそうなので、どこかで、とまるんだろうけど。


参考ページ


Yahoo! Pipes モジュール一覧

かんたんすぎ かっこよすぎ Yahoo pipes

Yahoo!、Pipesをローンチ

ヤフー、「Yahoo Pipes」リリース--マッシュアップ開発用ホスティング型環境
 

ページトップへ



(C) RECRUIT MEDIA COMMUNICATIONS CO., LTD.