解説
検索エンジン結果ページ(SERP)には、構造化データが密に含まれています。オーガニックリスティング(順位、タイトル、URL、説明文)、広告(上部・下部)、フィーチャードスニペット、ナレッジパネル、画像・動画パック、ローカルパックおよびMaps結果、関連検索、「他の人はこちらも質問」ボックスなどです。SERPスクレイピングとは、これらをプログラムで抽出する技術分野です。
主なユースケースは、SEOモニタリング(数千のキーワードにわたる自社および競合他社のランキング追跡)、競合インテリジェンス(どの競合がどのキーワードにどんなクリエイティブで入札しているか)、そして検索機能分析(特定のクエリに対してGoogleがいつフィーチャードスニペットを表示し、誰がそれを獲得しているか)です。Ahrefs、SEMrush、Sistrix、SERankingなど、よく知られた多くのツールは、大規模なSERPスクレイピングパイプラインの上に構築されています。
運用上の課題は2つあります。検索エンジン(特にGoogle)は、大量スクレイピングに対してスロットリングやCAPTCHA表示を積極的に行います。また、SERP結果は地域によって大きくパーソナライズされます。ニューヨークで「best running shoes」を検索したSERPと、東京でのSERPは異なります。本番環境のSERPスクレイピングには、ジオターゲティングされたレジデンシャルプロキシ、フィンガープリント管理、そして各検索エンジンのレート制限動作に合わせたローテーション戦略が必要です。
仕組み
SERPスクレイパーは、検索エンジンの検索エンドポイント(例:`https://www.google.com/search?q=...&gl=us&hl=en`)にリクエストを送信します。多くの場合、国(`gl`)と言語(`hl`)のパラメータを明示的に指定します。リクエストは対象国のレジデンシャルプロキシ経由でルーティングされ、エンジンが地理的に正確なSERPを返すようにします。レスポンスのHTML(または一部の構造化データエンドポイントではJSON)は、オーガニックリスト、広告、フィーチャーカードに解析され、それぞれのページ上の位置が記録されます。
大規模な運用では、スクレイパーはクエリごとに新鮮なレジデンシャルIPを1つ使用し、数秒単位の遅延でリクエストを調整し、最新のChromeに近いヘッダーを使用します。CAPTCHAやレート制限ページが返された場合、スクレイパーはIPをローテーションして再試行します。