前回、書いたとおり、Google,Yahoo!,Live Searchでの同時検索を JQueryを使って作ってみた。
Google検索は、Google Ajax Search APIを使っている。 内容的には以下のページにあるように、JSONPのような感じで扱う事が出来る。
[ hail2u.net - Weblog - Google AJAX Search APIのJSONPを利用したサイト内検索 ]Google AJAX Search APIは、動的にGoogle検索結果を自分のページに挿入することができるAPI(あまり使っているサイトを見ないけど)。Ajaxっつっても内部はJSONP(みたいなもの)だったりするので、
Yahoo!のAPIも日本語版では解説されていないが、JSONPで返す事が出来るのが確認している。
Live Searchは、「Live Search Box」で提供されている内容をみてみると、Json形式を取得できるようだったので、これを使ってみる事にした。 ただし、これはマッシュアップサイトで使っていていいものなのかは怪しい。
今回、JQueryでJSONPを扱うのに際して、jQuery JSONP pluginを使用しました。
[ iandeth. - jQuery JSONP plugin ]しかも本家のネームスペースは jquery.json.js だったので、図々しくもこちらは jquery.jsonp.js にしてみました
ただ、Google AJAX Search APIは、通常のJSONPと違い引数が4つになっているので、Pluginの内容をいじって、引数が増えても動くようにしています。
HTML自体はシンプル。3search.jquery.jsが実際にJQueryを使っているスクリプトです。
こちらが3search.jquery.jsのソースです。
なお、今回件数表示のカンマ区切り表示用に、JavaScript Number Format v1.5.4というスクリプトを使用しています。
今回作成した、JQuery版は以下から使用できます。なんか、しらないけれどエライ速いです。xajax版では、Googleの検索結果を解析したりとかしてたんでってのもあるんだけれど。 取得件数が少ない事を差し引いても速い気がします。Google Ajax Search APIの制限で、最大32件までしか取得できないのが痛いです。
今回のJQuery版が思いのほか軽快なんで、xajax版といいとこ取り出来ないものかと思ってます。そういう方向でいろいろいじってみる予定です。
handbags sale
以下から使用できます。なんか、しらないけれどエライ速いです。xajax版では、Googleの検索結果を解析したりとかしてたんでってのもあるんだけ