Google Code で提供されている API で Google検索結果を取得できる Google AJAX Search API ですが、検索結果をDBにキャッシュすれば、Google のサーバにも余計な負荷がかからないし、1日あたりのクエリ発行回数に制限があるはず(※)なので、その辺の問題を解消するためにも、どのようにすれば実装可能か考えていました。
※クエリ発行回数に制限については、2005年あたりの書かれている記事は1000回/1日とあるのですが、最近の記事の解説では見つけれないし、公式の利用規約にもそれらしい記述が見つけれませんでした。
正直、AJAX は用意されているAPIをそのまま実装する程度のことしかしたことがないので、なにをどこまで出来るとか突っ込んだことはよく分からないのですが以下の記事の見た感じ、JSONPというのを使えば簡単に出来るのではないかと気がしました。
次の様なURLをリクエストすればよいみたいです。詳しい解説は上記のリンク先を参照してください。
http://www.google.com/uds/GwebSearch?callback=handleWebResults&context=0&lstkp=0&rsz=10&hl=ja&q=%E4%BB%8A%E6%B2%BB%E5%B8%82&key=ABQIAAAA8sIaWMGpb7cFeAQjzNmTQhSgxx03qR9JK3UItoDYsuRdbT1gGBQC--KhlY0sbIlKGaHsZnC8e2m57A&v=1.0
JSONP というのはよく分かっていないけど、JSONは要求したデータを配列で返してくれるってイメージで、実際に参考サイトの通りのURLを叩いたら配列風のデータが返ってきたので問題ないでしょう。
使えれば問題ないのであまり突っ込んで調べないけど、JSONPは以下の記事に「JSONデータを括弧でくくった上でこっちが指定した文字列を頭につけて返してね?」と書かれているので多分間違いない。と思う。
トラックバック一覧
この記事にはトラックバックがついていません。