複数のクエリからGoogle検索結果をスクレイピングするには、具体的な検索語句のリストを作成し、DatablistのStart with Google Search Queriesソースに貼り付けて、国、言語、クエリごとの取得上限を設定します。その後、返されたURLを確認してください。たとえば、漠然とした歯科医院 日本という1つのクエリに頼るのではなく、歯科医院 東京、歯科医院 大阪、歯科医院 福岡のように検索します。

クエリごとに異なるページが返される可能性があります。取得できる結果は、その検索に対してGoogleが提供する範囲に限られます。また、検索パターン間で結果が重複することもあるため、最終的な件数は「クエリ数×クエリごとの上限」にはなりません。無料プランでは最初のクエリのみが処理され、取得件数は最大200件です。複数クエリを一括処理する場合は、対象となる有料プランをご利用ください。クレジットを使用する前に、実行コストの見積もりをご確認いただけます。

📌 活用例

各セクションへのクイックリンク:

広すぎる検索クエリで結果を取りこぼす理由

広範な検索で表示される推定結果件数は、実際に取得できるページの一覧を意味するわけではありません。取得可能なページはクエリによって異なります。

広範な検索結果を何ページもたどると、Googleが類似する結果を省略したり、それ以上のページを表示しなくなったりすることがあります。取得できる件数はクエリごとに変わります。

Lead generationでは、広すぎるクエリによって関連性の高いニッチな企業を取りこぼす可能性があります。たとえば、弁護士 日本では大手ポータルサイトが上位を占める一方、労働問題 弁護士 福岡なら、異なる地域の法律事務所が見つかることがあります。

地域、サービス、業界などの条件を加えて、検索クエリを具体化してください。これにより、確認対象となるURLの幅は広がりますが、すべての事業者を網羅したリストになるわけではありません。

Googleでは200件を超える検索結果が表示されないことがある
Googleでは200件を超える検索結果が表示されないことがある

複数クエリで検索する方法

複数クエリによるスクレイピングでは、大きな検索テーマを、内容が一部重なる複数の小さなクエリに分割します。たとえば「日本の弁護士」と検索する代わりに、「東京の弁護士」「大阪の弁護士」「名古屋の弁護士」「福岡の弁護士」「札幌の弁護士」と検索します。

都市ごとに異なるページが返される場合がありますが、同じ法律事務所が近隣の複数都市で上位表示されることもあります。ページが表示された理由を把握し、重複する結果を比較できるよう、出力プロパティのSearch QueryとResult Linkは残しておきましょう。

クエリのバリエーションによって、Googleに探させる対象を変えられます。ただし、特定の順位やユニーク企業数が保証されるわけではありません。

AIで検索クエリを展開する方法

100通りの検索クエリを手作業で用意するのは時間がかかります。 LLMを使えばバリエーションのたたき台を作成できますが、有料実行に貼り付ける前に、地域名や検索語句を確認してください。ほぼ同じ検索や、意図の異なる対象を狙ったクエリは削除しましょう。

地域別にクエリを作る方法

地域による展開は、検索結果を増やす最も簡単な方法です。どの国にも、都市、都道府県、地域の一覧があります。

地域別クエリを作るプロンプト例
## 目的
{#section-5} 日本の歯科医院を探しています。次のパターンに従って、日本の主要都市を対象とする検索クエリを作成してください。
実在する都市名を使用し、1行につき1クエリを記載して、都市を重複させないでください。クエリだけを返してください。
## パターン
{#section-6} 歯科医院 [都市名], 日本
ChatGPTで地域別のクエリを作成
ChatGPTで地域別のクエリを作成

キーワードを変えてクエリを作る方法

地域による分類が適さない場合もあります。たとえば「リモート対応のマーケティング会社」を探すなら、地域ではなくキーワードを変える方法が有効です。

キーワード別クエリを作るプロンプト例
「マーケティング会社」という検索語句に、具体的なニッチキーワードを追加して40通りの検索クエリを作成してください。
例:「B2Bマーケティング会社」「ECマーケティング会社」「SaaSマーケティング会社」「不動産マーケティング会社」。検索結果に異なる企業が表示されるよう、多様な業界を使用してください。
クエリの一覧をテキストキャンバス内に1行ずつ出力してください。
ChatGPTでキーワード別のクエリを作成
ChatGPTでキーワード別のクエリを作成

フィンガープリントを使う方法

多くのWebサイトでは特定のソフトウェアが使われています。そのソフトウェアの痕跡が、HTMLコードやフッターに残ることがあります。Googleはこうしたテキストもインデックスします。

フィンガープリント別クエリを作るプロンプト例
Shopifyプラットフォームを利用しているショップを探しています。「Powered by Shopify」というフィンガープリントと、さまざまな商品カテゴリーを組み合わせたクエリを40件作成してください。
例:「“Powered by Shopify” ジュエリー」「“Powered by Shopify” フィットネス」。
クエリの一覧をテキストキャンバス内に1行ずつ出力してください。
ChatGPTでフィンガープリント別のクエリを作成
ChatGPTでフィンガープリント別のクエリを作成

DatablistでGoogle検索結果を一括取得する手順

クエリを確認できたら、ブラウザスクレイパーを構築しなくても、Datablistのソースからまとめて実行できます。まずは少量のクエリで試し、出力内容とクレジット使用量をご確認ください。

1. データソースを開く

Datablistを開き、サイドバーのStart from a data sourceをクリックします。

ソースカタログからStart with Google Search Queriesを選択します。

新しいコレクションを作成
新しいコレクションを作成
Google Searchソースを選択
Google Searchソースを選択

2. クエリを貼り付けて検索条件を設定する

確認済みのクエリを、1行に1件ずつGoogle Search Queriesへ貼り付けます。無料プランでは最初のクエリしか処理されないため、複数クエリが一括実行されることを想定する前に、プランと選択中の実行モードをご確認ください。

クエリを貼り付ける
クエリを貼り付ける

調査対象の市場に合わせて、Search CountryとSearch Languageを設定します。情報の新しさが重要な場合はTime Periodを使用し、Limit Per Queryで実行件数の上限を指定してください。期間設定は検索対象となる時期を絞り込むものであり、返されたすべての企業が現在も営業していることを確認する機能ではありません。

4. 実行して完了を待つ

クレジット使用量の見積もりを確認してから、少量のバッチを実行します。Datablistがクエリを処理し、返されたページをコレクションへ追加します。

アイテムがリアルタイムでコレクションに追加される様子を確認できます。

Google検索の結果
Google検索の結果

データのクリーニングと重複排除

重複データを削除する

似たクエリを50件実行すると、データが重複しやすくなります。たとえば、有名な法律事務所が「弁護士 東京」「弁護士 日本」「企業法務 弁護士」のすべてで上位に表示されることがあります。これらの結果を1つのDatablistコレクションにまとめると、同じ法律事務所について3行のデータが作成されます。

Outboundを始める前に、データの重複を排除する必要があります。Datablistには高機能なDuplicates Finderが搭載されています。

  1. 「Clean」メニューを開きます。
  2. 「Duplicates Finder」を選択します。
検索結果の重複を排除
検索結果の重複を排除
  1. 比較するプロパティを選択します。複数のクエリで返された同一ページを削除する場合は、Result Linkを使用します。
重複判定に使うフィールド
重複判定に使うフィールド
  1. URLプロセッサーを選択します。同じドメイン内の異なるページも必要な場合は、パスを保持してください。ドメインごとに1レコードだけ残したい場合に限り、Ignore Pathをオンにし、マージする前に各グループを確認します。
重複排除の設定
重複排除の設定
  1. ツールで一致する行を検出し、マージするか余分な行を削除します。

不要な検索結果を除外する

クリーニングでは、不要な検索結果の除外も必要です。Google検索結果には、食べログ、iタウンページ、Tripadvisorなどの「まとめサイト」が含まれることがあります。企業の公式サイトに絞りたい場合は、こうしたサイトを除外したほうがよいでしょう。

フィルター機能を使って、よく見られるディレクトリ系ドメインを除外します。これらのデータを管理する詳しい手順は、データクリーニングガイドをご覧ください。

検索結果のデータエンリッチメント

URLやページタイトルだけでは、営業キャンペーンに必要な情報として十分でないことがほとんどです。重複のないWebサイト一覧を作成したら、次は連絡先情報を取得する必要があります。 Datablistはエンリッチメントハブとして機能し、スクレイピングしたデータをほかのサービスへ連携できます。

メールアドレスを取得する

  • 企業ドメインからメールアドレスを取得する
    スクレイピングで企業ドメインを取得できた場合は、Datablistの「Waterfall People Search」enrichmentをご利用ください。その企業で働く人物を検索し、プロフィール情報と検証済みメールアドレスを返します。ターゲットを絞ったB2B連絡先リストの作成に適しています。

  • LinkedInプロフィールURLからメールアドレスを取得する
    スクレイピングでLinkedInプロフィールのリンクを取得できた場合は、DatablistのWaterfall Email Finderをご利用ください。LinkedInプロフィールのURLだけを使って、仕事用メールアドレスを検索できます。詳しい手順は、LinkedInプロフィールURLからメールアドレスを探す方法でご確認いただけます。

ドメインからLinkedIn企業ページを取得する

企業のWebサイトがあれば、ワンクリックでLinkedInの情報へ変換できます。 「LinkedIn Company Page Matcher」enrichmentをご利用ください。リスト内の各企業について、公式LinkedIn Company Pageを検索します。

これにより、単純なGoogle検索結果を、業界、企業規模、アクティビティデータを含む充実した企業プロフィールへ変換できます。

マッチング後は、次のenrichmentを使って詳しい企業情報を取得できます。

未加工のURLを、構造化されたB2Bデータへすばやく変換できます。

AI AgentでWebサイトを調査する

Webサイト内で重要な情報が見つけにくいこともあります。 そのような場合に役立つのがAI Agentです。

AI Agentが各Webサイトを訪問し、人が読むようにページの内容を確認します。

次のような処理が可能です。

  • Webサイトの内容に基づく企業の分類
  • Leadへの「High Priority」または「Low Priority」ラベルの付与
  • ContactページやAbout Usページからの連絡先情報の抽出

500個のタブを開いて1件ずつ確認する代わりに、手間のかかる作業をAgentへ任せられます。

例:地域別クエリから確認用リストを作成する

日本の歯科医院を調査するケースを考えてみましょう。まず、歯科医院 東京、歯科医院 大阪、歯科医院 福岡という3つのクエリを用意します。少量のサンプルを実行し、Result Link、Result Title、Search Queryを確認してください。歯科医院の公式サイトが必要な場合はディレクトリを除外し、同じドメイン内のページが同一事業者を示しているか判断する前に、完全一致するURLを比較します。

最初のバッチで関連性の高いサイトが返されることを確認してから、対象都市を増やしてください。この例はワークフローを示すものであり、取得できる検索結果やユニークな歯科医院の件数を予測するものではありません。

低予算でスクレイピングするためのコスト分析

実行コストと、実際に必要なページの価値を比較してください。検索結果は候補URLであって、選別済みのLeadではありません。広範なバッチでは、ディレクトリが含まれたり、同じドメインが繰り返し返されたりする可能性があります。

APIからJSON形式で取得したデータを表計算ソフトで扱いたい場合は、JSON to CSV Converterでレスポンスをフラット化してから、クリーニングやenrichmentを実行できます。

ソースカタログには、Google検索結果10件あたり2.5クレジットと記載されています。概算では、このレートで1,000件を取得すると250クレジットです。実際の見積もりは、選択したクエリと上限によって異なります。現在、20ドルのチャージで20,000クレジットを利用できます。1ドル単位のチャージはできません。また、クエリ数や取得上限を増やしても、それに見合う数の有望なLeadを獲得できるとは限りません。

まずは少量のバッチを実行してください。対象クエリを増やす前に、返されたURL、重複、クレジット使用量を確認しましょう。

Google検索演算子を活用するコツ

スクレイピングするデータの品質を高めるため、クエリ作成に利用できるGoogle検索演算子をご紹介します。

これらの記号を使うと、キーワードを探す場所をGoogleへ正確に指定できます。

  • site: 特定のプラットフォームに対象を絞って結果を取得します。LinkedInプロフィールを探す場合は、site:linkedin.com/in/を使用します。
  • inurl: URL内に特定の単語が含まれるページを探します。問い合わせページを探す場合は、inurl:contactを使用します。
  • intitle: ページタイトルに特定の単語が含まれるページを探します。intitle:"Index of"では、公開ディレクトリが見つかることがあります。
  • filetype: 特定の形式のドキュメントを探します。filetype:pdf "マーケティング計画"では、公開されている戦略資料を検索できます。
  • -(マイナス記号): 特定の単語を除外します。弁護士を探しつつ「求人」関連のサイトを除外したい場合は、弁護士 -求人を使用します。

これらを複数クエリのスクレイピングと組み合わせることで、対象を精密に絞り込めます。たとえば、次のように検索します。 site:instagram.com "セレクトショップ" -inurl:/p/

この検索では、セレクトショップに言及しているInstagramページを探しつつ、/p/パスを持つ投稿URLを除外できます。各結果は必ず確認してください。条件に一致するページが、必ずしもインフルエンサー、競合企業、有望なLeadであるとは限りません。

📘 Instagramプロフィールの検索方法を詳しく知る

Googleを使ってInstagramプロフィールを検索する方法は、カテゴリーやキーワードからInstagramプロフィールを検索・スクレイピングする方法をご覧ください。

FAQ

広すぎるGoogle検索で結果を取りこぼすのはなぜですか?

検索結果はランキングされ、複数ページに分けて表示されます。また、推定件数は、一致するすべてのページへアクセスできることを保証するものではありません。検索条件を具体化すると異なるページが見つかる可能性がありますが、結果が重複したり、関連サイトを取りこぼしたりする場合もあります。

Google検索結果のスクレイピングは合法ですか?

検索結果を収集または利用する前に、ご自身の用途に適用されるサイトの利用規約とプライバシー要件をご確認ください。検索結果に個人情報が含まれる場合は、特に注意が必要です。

このツールでGoogle Mapsをスクレイピングできますか?

「Start with Google Search Queries」ソースは、通常のGoogle Searchを対象としています。評価、営業時間、正確な地図座標などを含む地域の事業者データが必要な場合は、Google Maps専用のスクレイパーをご利用ください。Webサイトやデジタルプロフィールの収集には検索結果が適しており、実店舗の情報収集にはMapsの結果が適しています。

CAPTCHAにはどう対処すればよいですか?

Datablistでは、ブラウザスクレイパーを設定せずにGoogle Search Queriesソースを実行できます。ただし、クエリから想定より少ない結果しか返されない場合や、処理に失敗する場合はあります。コレクションを完全なものとして扱う前に、実行ステータスと出力をご確認ください。

検索結果をCRMで利用できますか?

はい、ご利用いただけます。URLを確認して重複を排除し、元の検索クエリを保持したうえで、選択したフィールドをCSVまたはExcel形式でエクスポートし、CRMへインポートしてください。インポート前にCRMの必須フィールドを確認し、項目をマッピングする必要があります。