このブログでも何度か Yahoo! Pipes の話題は取り上げてきましたが、先日実装された「Page Fetch」モジュールは素敵すぎます。ほんとに。
今まで、Yahoo! Pipes といえば、XML・CSV か Yahoo が提供してるサービスのデータを加工することしかできませんでした。それが、「Page Fetch」モジュールの登場により、任意の Web ページを加工できるようになったのです。
Yahoo! Pipes の使い道といえば、次の2つだと思います。
このいずれに関しても、「Page Fetch」モジュールで可能性が広がってきます。
任意のページの HTML を取ってこれるようになったおかげで
ためしに、作ったのがこれ。Shinya talk という藤原新也さんのブログの RSS を作成してみました。
ソースはこんな感じ。
RSS は http://pipes.yahoo.com/nitoyon/shinya_talk_rss?_render=rss から取得できます。レッツ購読。
こっちは例を見てもらうほうが早いかな。はてブ ブックマーク件数一括取得API というのを作ってみました。
はてなブックマークのブックマーク件数を一括で取得するための Pipe です。Web サービスから使うイメージを醸し出すために API と名づけてます。
はてなが用意する ブックマーク件数取得 API は XML-RPC なので JS や AS からは扱いづらいし、RSS にもブックマーク数が入っていません。はてなアイデア - HTML→RSS で情報が落ちすぎ。ブックマーク数、できればタグとカテゴリもつけてほしい という要望が放置されているところを見ると、今後も RSS にブックマーク件数が追加される予定はなさそうです。
ってことで、「Page Fetch」モジュールを使って、ページ内のブックマーク一覧をスクレイピングしてます。JS や AS からこの API を使うこともできますし、サーバー側の Perl や PHP から XML をパースして利用も OK。
Yahoo! Pipes 側にキャッシュが効いてるので、はてなのサーバーに負荷をかけすぎる心配もありません。
この Pipe を活用して、複数ドメインの人気エントリランキング というのを作ってみました。雰囲気を知るには サンプルデータつき のものを見たほうがイメージが沸きやすいかもしれません。
通常、URL 別でしか人気エントリを見れないのですが、複数のURLで集計できます。
複数の場所でサイトを運営してる人は、自分が運営してるサイトを入れてみるとちょっと楽しいと思います。ブログの端っこに貼り付けてもいいかもしれませんね。
ちょっとはまったところ。
地味に少しずつ機能追加されていってる Yahoo! Pipes ですが、まだまだできることは限られています。やりたいことを実現するには頭をひねらないといけません。けれども、そういうところも含めて論理パズルのようで楽しかったりもします。
Adobe AIR完全解説 の4章を執筆させていただきました。