Yahoo! PipesにFetch Pageモジュールが追加されたので、さっそく作ってみた。
URLを渡すと、そのURLのページの内容を返します。結果はRSS、JSON、JSONPで取得できます。
想定してる使い方としては、クライアントサイドからよそのページのhtmlソースなんかが欲しい場合。XMLHttpRequestでは別ドメインのデータは取って来れないのでJSONPを使うわけですが、htmlソースはそのままじゃJSONPで取れません。そこでこのPipesを使うわけです。
呼び出し方は以下のような感じ。
http://pipes.yahoo.com/poolmmjp/page_loader?url=(URL)&_render=json&_callback=hoge
返されるフィードまたはJSONの1件目の「description」ってところにhtmlソースが入ってます。それだけ。
このAPIはもともと、つい先日「Twitter Auto Followに、コピペしたテキストからTwitterユーザを抽出する機能を追加」のときに、htmlソースをコピペするんじゃなくURLを指定するだけにしたくて、そのためにはhtmlソースをJSONPで取得できるAPIが欲しいから作ろうかと思っていたものです。そのときはRubyか何かで作って自分の管理下にあるサーバに置くつもりでしたが、公開するとなると気力が続く限りメンテとかしなきゃいけないのが負担だなぁと思って躊躇していました。でも良いタイミングでYahoo! Pipesで簡単に作れるようになったので、ホント助かった。
すばらしいねFetch Pageモジュール。これは熱いわ。いろいろアイディアがわいてくるよ。
今からこれ使って何か作る。