web-dev-qa-db-ja.com

Google画像から最初の画像ソースを返す

検索用語がある場合、Google検索から最初の画像ソースを取得する方法はありますか?

たとえば、入力がtomatoの場合、出力はhttp://www.cksinfo.com/clipart/food/fruits/tomatoes/tomato.pngになります

ありがとう!

9
3mpetri

Googleカスタム検索API に画像が含まれるようになりました。請求前の1日あたりのクエリ数は100に制限されていますが、Googleを使用して検索を行う唯一の正当な方法です。

リンクの方向が間違っている場合:

呼び出しスタイル

APIを呼び出す方法は複数あります。

REST

Google Custom Search APIのRepresentational State Transferは、従来のRESTとは多少異なります。リソースへのアクセスを提供する代わりに、APIはサービスへのアクセスを提供します。その結果、APIはサービスエンドポイントとして機能する単一のURIを提供します。

API操作で説明されているように、GET REST HTTP動詞を使用してGoogleカスタム検索APIサービスエンドポイントにアクセスします。すべての検索リクエストの詳細をクエリパラメータとして渡します。

単一のGoogle Custom Search API URIの特定の形式は次のとおりです。

https://www.googleapis.com/customsearch/v1?parameters

パラメーターは、クエリに適用するパラメーターです。詳細については、「REST」の使用に関するドキュメントの検索結果とクエリパラメータのリファレンスをご覧ください。

これは、テスト用のカスタム検索エンジンで講義を検索するGoogle Custom Search APIでのこれの仕組みの例です。

GET https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lectures

JavaScriptからのREST

コールバッククエリパラメーターとコールバック関数を使用して、JavaScriptからRESTを使用してGoogleカスタム検索APIを呼び出すことができます。これにより、サーバー側のコードを記述することなく、カスタム検索データを表示するリッチアプリケーションを作成できます。

次の例では、このアプローチを使用して、tomatoクエリの検索結果の最初のページを表示します。

<html>
  <head>
    <title>JSON/Atom Custom Search API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function hndlr(response) {
      for (var i = 0; i < response.items.length; i++) {
        var item = response.items[i];
        // in production code, item.htmlTitle should have the HTML entities escaped.
        document.getElementById("content").innerHTML += "<br>" + item.htmlTitle;
      }
    }
    </script>
    <script src="https://www.googleapis.com/customsearch/v1?key=YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=tomato&callback=hndlr">
    </script>
  </body>
</html>

もちろん、スクリプトのsrcを更新して、検索元の入力の値を含めます。

5
cubap

Google Image Search API を使用してこれを行うことができます。残念ながら、この機能は廃止されているため、1日あたりのクエリ数を制限することができます。置き換える新しいAPIがあるかどうかはわかりません。

3
John Conde