🎯 カスタマイズ可能で検出回避型のクラウドブラウザ。自社開発のChromiumを搭載し、ウェブクローラーAIエージェント向けに設計されています。👉今すぐ試す
ブログに戻ります

Google Images スクレイパー API: イメージの垂直を JSON として読み取る

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

10-Jun-2026

主なポイント:

  • 1回のPOST、ブラウザーなし。 Google Imagesのデータは、tbm: "isch"POSTscraper.google.searchアクターに送信することで得られます。Scraper APIはページをサーバーサイドでレンダリングし、解析して、JSONを返します。
  • 画像の垂直は1つの入力フィールドです。 tbm: "isch"はGoogle検索アクターを画像の垂直に切り替え、qがあなたのクエリを含みます。それ以外はオプションです。
  • すべての場所で1つの認証ヘッダー。 各呼び出しにはx-api-token: <あなたのキー>が含まれています。1つのアカウントキーでアクターと他のすべてのscraper.*アクターをカバーします。
  • フラット化された上位レベルの解析済みJSON。 アクターはmetadatasearch_information、およびsuggested_searchesを直接返します — resultラッパーを展開する必要はありません。suggested_searches内の各リファインメントチップは、インラインdata:image/jpeg;base64サムネイルを持っています。
  • 完全な画像グリッドはmetadata.rawUrlに存在します。 解析されたオブジェクトはリファインメントチップと検索メタデータを表示し、metadata.rawUrlは保存された完全にレンダリングされたGoogle Imagesページを指します — これは解析されたオブジェクトがフラット化していないすべての画像URLが必要な場合です。
  • 無料で開始。 新しいScrapelessアカウントには無料のScraper APIクレジットが含まれています — app.scrapeless.comで登録してください。

はじめに:画像の垂直をJSONとして読む

Google Imagesはオープンウェブ上の最大のビジュアルインデックスの1つの上に立ち、そこで提供される内容に多くの作業が依存しています:視覚的な製品調査、ブランドやロゴの監視、モデルトレーニングのための画像データセットの構築、クエリが地域ごとにどのように表示されるかの追跡、および大規模なデザインリファレンスの収集。クエリは入力であり、画像のグリッドとリファインメントチップの行が出力です。

その出力をプログラム的に取得するのは難しい部分です。ImagesページはJavaScriptでレンダリングされ、サムネイルはスクリプトペイロード内にbase64としてインラインされ、リファインメントチップや画像URLはページのハイドレーションデータに埋め込まれ、匿名リクエストはグリッドの代わりにチャレンジを受け取ります。手動のスクレイパーはページをレンダリングし、アンチボットレイヤーを突破し、マークアップのリバースエンジニアリングを行う必要があります — すべてがGoogleのデザイン変更を行うときに変わる3つの作業です。

このガイドは、ScrapelessのScraper APItbm: "isch"を使ってscraper.google.searchアクターを通過します。1回のHTTPリクエストで解析済みオブジェクトとレンダリングされた画像ページの保存コピーが返されます。ドライブするブラウザーも、維持するパーサーも不要です。以下の実例は、実際のq: "golden retriever"のキャプチャです;同じリクエスト形状を持つAI応答ファミリーについては、コンパニオンScraper APIガイドで説明しています。


Google Images用のScraper APIの理由

  • ブラウザーなし、維持するパーサーなし。 アクターはサーバー上でImagesページをレンダリングし、解析します;構造化されたフィールドを受け取ります。DOMを歩き回ったり、手動でデコードするbase64のバイナリは不要です。
  • 1つの入力で垂直が切り替わる。 同じGoogle検索アクターがウェブ結果と画像を提供します — tbm: "isch"を設定すると、レスポンスはImagesの垂直形式で返ってきます。
  • 居住用出口とレンダリングが組み込まれています。 ジオルーティングとJavaScriptレンダリングはアクター内で実行されます;{ actor, input }を送信し、結果を読み取ります。
  • 読み取るための1つの形。 解析済みのImagesオブジェクトは上位レベルでフラット化されているため、一度書かれたクライアントラッパーはネストされたラッパーを展開せずにレスポンスを処理できます。

無料プランでAPIキーを取得するには、app.scrapeless.comをご覧ください。Google検索アクターはDeep SerpApiの一部であり、料金カタログに位置しています。


前提条件

  • ScrapelessアカウントとAPIキー — app.scrapeless.comで登録してください。
  • 簡単なテストのためのcurlまたは、以下のクライアント用のPython 3.10+。
  • HTTPとJSONに関する基本的な理解。

コードに含まれないように、環境にキーを保存します:

bash Copy
export SCRAPELESS_API_KEY=your_api_token_here

リクエスト

Google Imagesはsite/SERPエンドポイントを使用します。アクターの名前を指定し、入力を渡し、ヘッダーにキーを送信します。

  • エンドポイント: POST https://api.scrapeless.com/api/v1/scraper/request
  • アクター: scraper.google.search
  • 認証ヘッダー: x-api-token: $SCRAPELESS_API_KEY

ボディは{ "actor": "<name>", "input": { … } }です。Imagesの垂直のための入力は2つのフィールドです:

json Copy
{
  "actor": "scraper.google.search",
  "input": { "q": "golden retriever", "tbm": "isch" }
}
入力フィールド 必須 説明
q はい 画像検索のクエリ文字列
tbm はい 検索の垂直方向 — "isch"はGoogle Imagesを選択
hl いいえ ユーザーインターフェースの言語、例: "ja"
gl いいえ 国 / ロケール、例: "jp"
google_domain いいえ ヒットするGoogleドメイン、例: ".google.com"

例 — curl と Python

最も簡単なチェックは、単一のcurl呼び出しです:

bash Copy
curl -sS -X POST https://api.scrapeless.com/api/v1/scraper/request \
  -H "Content-Type: application/json" \
  -H "x-api-token: ${SCRAPELESS_API_KEY}" \
  -d '{
    "actor": "scraper.google.search",
    "input": { "q": "ゴールデン・レトリーバー", "tbm": "isch" }
  }'

同じリクエストをPythonで記述し、応答を直接辞書に解析します:

python Copy
import os
import json
import requests

ENDPOINT = "https://api.scrapeless.com/api/v1/scraper/request"


def scrape_google_images(query: str) -> dict:
    resp = requests.post(
        ENDPOINT,
        headers={
            "Content-Type": "application/json",
            "x-api-token": os.environ["SCRAPELESS_API_KEY"],
        },
        json={"actor": "scraper.google.search", "input": {"q": query, "tbm": "isch"}},
        timeout=120,
    )
    resp.raise_for_status()
    return resp.json()


if __name__ == "__main__":
    data = scrape_google_images("ゴールデン・レトリーバー")
    # google.searchは解析結果をトップレベルでフラット化するため、
    # data.get("result", data)は全体の応答にフォールバックします。
    print(json.dumps(data.get("result", data), indent=2, ensure_ascii=False))

Google検索アクターはその解析出力をトップレベルでフラット化するため、resultキーにはアクセスできません — data.get("result", data)は単に全体の応答を返し、search_informationsuggested_searchesを直接読むことができます。

無料プランのAPIキーを取得します: app.scrapeless.com


受け取るもの

Imagesの垂直方向に対して、アクターはScrapelessのmetadataエンベロープ、Googleが返したsearch_information、およびGoogleがグリッドの上にレンダリングする画像精緻化チップの行(suggested_searches)を表示します。各チップには独自のインラインサムネイルが含まれています。これはq: "ゴールデン・レトリーバー", tbm: "isch"の真のキャプチャです:

json Copy
// q:"ゴールデン・レトリーバー", tbm:"isch"の真のキャプチャ。
// base64サムネイルは省略; suggested_searchesは5つのチップのうち2つに省略 — 説明のためのサンプル。
{
  "metadata": {
    "engine": "google.search",
    "rawUrl": "https://api.scrapeless.com/storage/scrapeless.scraper.google.search/…_1781025000.html"
  },
  "pagination": {},
  "search_information": {
    "organic_results_state": "正確なスペルの結果",
    "query_displayed": "ゴールデン・レトリーバー",
    "total_results": 0,
    "time_taken_displayed": ""
  },
  "suggested_searches": [
    {
      "name": "子犬",
      "link": "https://www.google.com/search?sca_esv=…&gl=us&q=ゴールデン+レトリーバー+子犬&uds=…&udm=2&sa=X&…",
      "uds": "",
      "q": "子犬 ゴールデン・レトリーバー",
      "thumbnail": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/…"
    },
    {
      "name": "かわいい",
      "link": "https://www.google.com/search?sca_esv=…&gl=us&q=かわいい+ゴールデン+レトリーバー&uds=…&udm=2&sa=X&…",
      "uds": "",
      "q": "かわいい ゴールデン・レトリーバー",
      "thumbnail": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/…"
    }
  ]
}

フィールドごとの説明:

フィールド タイプ 内容
metadata.engine 文字列 リクエストを処理したアクターエンジン — "google.search"
metadata.rawUrl 文字列 (URL) 完全にレンダリングされたGoogle Imagesページの保存されたコピー; 完全な画像グリッドを取得するために取得してください
pagination オブジェクト ペジネーションカーソル; このキャプチャでは空のオブジェクト
search_information.query_displayed 文字列 Googleが返したクエリ ("ゴールデン・レトリーバー")
search_information.organic_results_state 文字列 スペル / 結果の状態 ("正確なスペルの結果")
search_information.total_results 数字 Googleが報告した結果数 — ここでは画像の垂直方向での 0
search_information.time_taken_displayed 文字列 Googleのタイミング文字列; このキャプチャでは空
suggested_searches[] 配列 グリッドの上にレンダリングされた画像精緻化チップ
suggested_searches[].name 文字列 チップラベル ("子犬""かわいい""ラブラドール"、 …)
suggested_searches[].q 文字列 チップが実行する精緻化されたクエリ ("子犬 ゴールデン・レトリーバー")
suggested_searches[].link 文字列 (URL) その精緻化のためのGoogle Images検索URL (udm=2はGoogleの画像垂直方向パラメータ)
suggested_searches[].uds 文字列 Googleのudsチップトークン; このキャプチャでは空
suggested_searches[].thumbnail 文字列 チップのインライン data:image/jpeg;base64 プレビュー

形状についてのいくつかの正直な観察:

  • 解析されたオブジェクトは平面的な images_results 配列ではなく、リファインメントチップを表示します。 isch ビジュアルの場合、アクターは suggested_searchesmetadata.rawUrl のレンダリングページを返します。グリッドのすべての画像URLが必要なときは、metadata.rawUrl を取得してください。そこには解析されたオブジェクトがフラット化されていない完全なセットが保存されています。
  • サムネイルはインラインのbase64です。 各チップの thumbnail は完全な data:image/jpeg;base64 値であり、二度目のリクエストなしで使用できます。フィクスチャは可読性のためにそれらをトリミングします。
  • search_information はGoogleが表示する内容を反映します。 total_resultstime_taken_displayed は、画像ビジュアルでは 0 および空の値が返されることがあります。Googleはウェブ検索に表示する「約N件の結果」の行をレンダリングしません。
  • チップごとのフィールドはnullableとして扱います。 uds はすべてのチップに存在しますが、このキャプチャでは空です。また、チップ数はクエリによって異なります。固定長を仮定するのではなく、そこにあるものを読み取ってください。

結論

Google Imagesを読むことは、1つの決定と1つのリクエストに集約されます:scraper.google.search アクターを画像ビジュアルに tbm: "isch" でポイントし、{ actor, input }x-api-token とともに送り、解析されたフィールドを読み戻します。レスポンスはトップレベルでフラット化されます — metadatasearch_information、およびそのインラインサムネイルを持つ suggested_searches リファインメントチップ — そして metadata.rawUrl は完全なグリッドのための完全にレンダリングされたページを保持します。クライアントラッパーを一度作成し、必要なクエリに対してポイントすれば、同じ形状が AI応答アクター にも対応します。

AIによる画像データパイプライン構築の準備はできましたか?

コミュニティに参加して無料プランを取得し、Google Imagesパイプラインを構築している開発者とつながりましょう:Discord · Telegram

無料のScraper APIクレジットを取得するために app.scrapeless.com にサインアップし、scraper.google.search アクターを画像パイプラインが必要とするクエリ、言語、地域にポイントします。


よくある質問

Q: Google Imagesをスクレイピングすることは合法ですか?

アクターは公に見えるデータを収集します。ルールは管轄によって異なり、Googleの利用規約にもよるため、スケールで実行する前に関連するToSを確認し、あなたのユースケースに合った法律相談を行ってください。GDPRやCCPAで保護されている個人データを収集せず、個々の画像に付随する権利を尊重してください。

Q: どのように認証しますか?

すべてのリクエストにはヘッダー x-api-token: <your key> が含まれます。1つのアカウントキーは scraper.google.search および他のすべてのアクターで機能します。 app.scrapeless.com の無料プランでキーを作成します。

Q: ウェブ結果から画像に切り替えるにはどうすればよいですか?

inputtbm: "isch" を設定します。同じ scraper.google.search アクターはデフォルトでウェブSERPを提供します。tbm: "isch" は画像ビジュアルを選択し、解析された形状を画像リファインメントチップとレンダリングされた画像ページに変更します。

Q: 実際の画像URLはどこにありますか?

解析されたオブジェクトはリファインメントチップ(suggested_searches)と検索メタデータを表示します。画像URLの完全なグリッドは metadata.rawUrl に保存されたページに存在します。結果ページのすべての画像が必要なときは、このURLを取得してください。ただし、リファインメント行だけではありません。

Q: 言語や国で結果を絞り込むことはできますか?

はい。オプションの hl(UI言語)、gl(国/ロケール)、および google_domain 入力はリクエストの範囲を定義します — 例えば { "q": "golden retriever", "tbm": "isch", "hl": "en", "gl": "us" }

Q: プロキシは必要ですか?

いいえ。住宅用エグレスとジオルーティングはアクターに組み込まれています — 入力を送信し、アクターがネットワークおよびレンダリング層を処理します。

Q: SDKやAIエージェントなしでこれを実行できますか?

はい。これは通常のHTTPです — curl、Python requests、Node fetch、またはHTTPクライアントを持つ任意の言語が直接 POST /api/v1/scraper/request に対して機能します。SDKは必要ありません。

Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。

最も人気のある記事

カタログ