Linuxゲリラ戦記

くえりー。

43.Google画像検索API。クエリを作って欲しい情報をゲット

ナックス「はい!今回はGoogle画像検索APIの『情報の要求方法』の解説です!」

デビー君「情報の要求方法?」

ナックス「そうです。例えば39.Google画像検索のクエリを解析するでは、検索したい画像に色々な条件をつけましたね。例えば『顔が写っている画像』とか『白黒の画像』とか『大きめの画像』とか……」

ナックス「画像検索APIでも、同じように検索したい画像を指定できるのです」

デビー君「へー」

ナックス「Googleのクラス リファレンス - Google AJAX Search API - Google Codeを見ると、画像検索でどのように条件を指定すれば良いのかが書かれています」

ナックス「クラス リファレンス - Google AJAX Search API - Google Codeを見ると、『標準 URL 引数』というセクションがあります。そこには、以下の様に書かれています」

引数説明
qq=Paris%20Hiltonこの引数はサーチャーに渡されるクエリまたは検索式を指定します。
vv=1.0この引数は、プロトコルのバージョン番号を指定します。現在有効な値は、次の値のみです: 1.0.
rsz?rsz=smallこの引数(省略可能)は、アプリケーションが受け取る結果の数を指定します。値を small に設定すると、小さい結果セット(4 件の結果)を示します。値を large に設定すると、大きい結果セット(8 件の結果)を示します。この引数が指定されない場合、値は small と仮定されます。

ナックス「みたいなのが、ずらっとならんでいます」

ナックス「これの見方さえ分かれば、APIの使い方の半分は分かったようなものです」

ナックス「さて。APIにどうすれば目的の情報を要求するのか?それはずばりクエリです!」

デビー君「クエリってあの、http://www.aaa.com?a=b&cd=aaa&efg=hijkみたいな感じの?以降の」

a=b
cd=aaa
efg=hijk

デビー君「の事だよね?」

ナックス「そうです。そして、大元の『http://ほにゃらら』の部分は、画像検索の場合は」

http://ajax.googleapis.com/ajax/services/search/images

ナックス「であるとクラス リファレンス - Google AJAX Search API - Google Codeに書かれています」

ナックス「で、実際にクエリにはどんな種類があるの?っていうのが、先程の表です」

ナックス「例えば」

引数説明
qq=Paris%20Hiltonこの引数はサーチャーに渡されるクエリまたは検索式を指定します。

ナックス「は、以下のような意味です」

http://ajax.googleapis.com/ajax/services/search/images?q=検索キーワード

デビー君「おお、なるほど。」

ナックス「さて。APIにもバージョンがあります。現在使えるバージョンは1.0のみと書かれているので、以下の様になります」

http://ajax.googleapis.com/ajax/services/search/images?q=検索キーワード&v=1.0

デビー君「おお!」

ナックス「さて、『説明』に(省略可能)と書かれているのは、省略が可能、つまり、書かなくても良いわけです」

デビー君「え!!じゃあ、これだけで画像検索の情報を要求するアドレスの基本は完成したの?」

ナックス「そうです。基本は完成です」

ナックス「ただし、他にも条件をつけようと思えばつけることが可能です。『標準 URL 引数』よりもずっと下の方に『画像検索固有の引数』というセクションがあります。先程の『標準 URL 引数』は、画像検索に限らず、ウェブ検索や特許検索など全ての検索APIに共通のクエリでしたが、『画像検索固有の引数』は、画像検索の為だけに用意されたクエリです」

ナックス「使い方は、先程のクエリと同じように付け足すだけです。例えば、エロ画像を捜すときにはセーフサーチフィルタリングをオフにしたいときもあるでしょう。そういう場合ははこうします」

http://ajax.googleapis.com/ajax/services/search/images?q=検索キーワード&v=1.0&safe=off

ナックス「さらに、手に入れる結果を大きい画像のみに制限したい場合は以下の様にします」

http://ajax.googleapis.com/ajax/services/search/images?q=検索キーワード&v=1.0&safe=off&imgsz=xxlarge

ナックス「このアドレスで実際にAPIを使う場合は以下の様になります」

curl -e http://www.my-ajax-site.com \
        'http://ajax.googleapis.com/ajax/services/search/images?q=検索キーワード&v=1.0&safe=off&imgsz=xxlarge'

ナックス「ただし、実際には検索キーワードはURLエンコードされたものしか使えませんので、上記をそのまま実行してもうまくいかないと思います」

ナックス「今回は、『あれ?APIって意外と楽勝じゃね?』って思っていただければ幸いです。次回の結果の見方を解説(44.Google画像検索API。返ってきた結果を整理する。catコマンド。trコマンド。リダイレクト)すれば、APIはほぼ完璧と言っても過言ではないでしょう」

補足

指定できるクエリ一覧
q=検索キーワード
検索キーワードを指定します。
v=バージョン
APIのバージョンを指定します。現在は1.0しかバージョンがありません。
rsz=small
小さい結果セット(4件)を返します。(デフォルト)
rsz=large
大きい結果セット(8件)を返します。
hl=ホスト言語
ホスト言語を指定します。日本はjaと指定するようです。
start=開始インデックス
いくつ目の検索結果から表示するかを指定します
safe=active
セーフサーチ フィルタリング(強)を有効にします。
safe=moderate
セーフサーチ フィルタリング(中)を有効にします(デフォルト)。
safe=off
セーフサーチ フィルタリングを無効にします。
imgsz=icon
画像サイズを小に制限します。
imgsz=small|medium|large|xlarge
画像サイズを中に制限します
imgsz=xxlarge
画像サイズを大に制限します。
imgsz=huge
画像サイズを特大に制限します。
imgc=mono
白黒(モノクロ)の画像に制限します。
imgc=gray
グレースケールの画像に制限します。
imgc=color
カラーの画像に制限します。
imgtype=face
顔の画像に制限します。
imgtype=photo
写真に制限します。
imgtype=clipart
クリップアート画像に制限します
imgtype=lineart
線描画画像に制限します
as_filetype=jpg
画像を jpg のみに制限します
as_filetype=png
画像を png のみに制限します
as_filetype=gif
画像を gif のみに制限します
as_filetype=bmp
画像を bmp のみに制限します
as_sitesearch=ドメイン
指定されたドメインの画像のみ検索するようにします。(例:as_sitesearch=photobucket.com)
Google API使えなくなってるけど、このページでは、補足はないの?

このページでは、特に補足必要ないかな、と思って用意してません。

このエントリーをはてなブックマークに追加