mcpField
S
search

search

github.com/brightdata生産性2687.5k 回インストール2 週間前に更新
リポジトリ

search について

Bright Data — Searchは、キーワード検索結果や意図に合うページを探すためのスキルです。bdata CLIから通常の検索とセマンティック検索を使い分け、検索種別、地域設定、ページ内容の取得を指定できます。

主な機能

  1. 01Google、Bing、Yandexのキーワード検索
  2. 02意図に基づくセマンティック検索
  3. 03結果とページ本文の取得
  4. 04ニュース、画像、ショッピング検索
  5. 05ページネーションと地域設定

活用シーン

  1. 01キーワードの検索順位を確認
  2. 02トピックの意図に合うページを発見
  3. 03検索結果とページ本文を取得
  4. 04地域を指定してニュースや画像を検索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/brightdata/skills --skill search

インストール後、Claude Code で/searchを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
examples.md
flags.md
patterns.md

詳細

Bright Data — 検索

ウェブ上の情報を見つけます。このスキルには2つのコマンドがあります。

  • bdata search — 従来型のキーワード SERP(Google/Bing/Yandex)です。「キーワード X で何が上位に表示されるか」を知りたい場合に最適です。
  • bdata discover — AI による意図のランキング付き検索で、ページコンテンツも任意で取得できます。「意図 Z に合致するトピック Y 関連のページ」を探したい場合に最適です。

既知のプラットフォーム(Amazon、LinkedIn、TikTok など)の構造化データが必要な場合は、ここで止めて、代わりに data-feeds を使ってください。

セットアップゲート(最初に実行)

if ! command -v bdata >/dev/null 2>&1; then
    echo "bdata CLI not installed — see bright-data-best-practices/references/cli-setup.md"
elif ! bdata zones >/dev/null 2>&1; then
    echo "bdata not authenticated — run: bdata login  (or: bdata login --device for SSH)"
fi

どちらかのチェックに失敗した場合は処理を中止し、skills/bright-data-best-practices/references/cli-setup.md を参照してください。

実行方法を選ぶ

状況アクション
単一のキーワードクエリで、SERP のみbdata search "<query>" --engine google --json --pretty
ページネーション付き SERP(結果を増やす)--page 0、--page 1、…をループします(0 始まり)
複数のクエリクエリファイルを使ったシェルループ
意図ランキング/セマンティック検索(キーワードではない)bdata discover "<query>" --intent "<intent>" --num-results 20
1回の実行で結果とページ本文の両方が必要bdata discover ... --include-content
ニュース/画像/ショッピング SERPbdata search "<query>" --type news(または images、shopping)
Amazon/LinkedIn/TikTok などの構造化データが必要ここで止めて、data-feeds に引き継いでください
URL があり、コンテンツが必要scrape に引き継いでください

アクション

主要なコマンド:

# Google SERP, structured JSON
bdata search "site:example.com privacy policy" --engine google --json --pretty

# Localized Bing (German results, German language)
bdata search "datenschutz" --engine bing --country de --language de --json

# Second page of results (0-indexed)
bdata search "machine learning papers" --page 1 --json

# Mobile SERP (rankings differ from desktop)
bdata search "best coffee shops" --device mobile --json

# News vertical
bdata search "openai" --type news --json --pretty

# Intent-ranked discovery
bdata discover "enterprise LLM platforms" \
    --intent "vendor pages with pricing" \
    --num-results 15 --json

# Discovery with page content in markdown
bdata discover "webhook best practices" \
    --include-content --num-results 10 -o results.json

# Date-filtered discovery
bdata discover "react server components" \
    --start-date 2025-01-01 --end-date 2025-12-31 --num-results 20

すべてのフラグのリファレンス:references/flags.md。

search と discover の違い — 適切な方を選ぶ
必要なもの使用するもの
「この正確なキーワードで Google が何を上位表示するか」search
「この意味/意図に合致するページ」discover
「ニュース/画像/ショッピングのカテゴリ別 SERP」search --type <vertical>
「1回の呼び出しで結果とページ本文」discover --include-content
「クエリ間の重複除去/セマンティックランキング」discover

検証ゲート

  1. JSON が正しく解析できること: jq . <output> が 0 を返します。
  2. 結果配列が空でないこと — 空の場合、クエリの結果が実際に0件です。クエリを緩和して再実行してください。ユーザーに伝えずに、空の結果で成功したと主張しないでください。
  3. 必須フィールドが存在すること:
    • search:結果は .organic[] にあり、各結果に title と link があります
    • discover:結果は .results[] にあり、各結果に title と link があります。--include-content を指定した場合は、content もあります
  4. discover --include-content の場合: content フィールドにブロックページの兆候がないこと(scrape と同じリスト、大文字と小文字を区別しません):
    • Access Denied
    • Just a moment
    • Attention Required
    • Checking your browser
    • captcha
    • cf-browser-verification
    • cloudflare(全本文が 2KB 未満の場合)
  5. 地域の妥当性: ユーザーが特定の国の結果を期待していた場合は、上位の結果の TLD/言語を確認してください。地域が正しくない場合は、明示的に --country と --language を指定して再実行してください。

注意事項

  • data-feeds を使えば1回の呼び出しでクリーンな構造化データが取得できるのに、Amazon、LinkedIn、TikTok などのコンテンツ取得に search を使う。
  • すべての SERP 結果を無条件にスクレイピングする — 先にフィルタリングしてください(ドメインの許可リスト、タイトル内のキーワード、関連性のヒューリスティックなど)。
  • search(キーワード)と discover(セマンティック)を混同する。これらは異なる質問に答えます。
  • 複数のクエリを実行し、スクレイピング前に結果セット間の URL を重複除去しない。
  • SERP の順位は普遍的だと想定する — 地域とデバイスによってパーソナライズされます。再現性を確保するため、常に --country と --device を明示的に設定してください。
  • --page を結果件数として使う — これはページインデックスであり、上限ではありません。各ページで約10件の結果が返されます。
  • SERP の結果が .results[] にあると想定する — bdata search では .organic[] にあります(discover では .results[] を使います)。
  • パイプラインが指定件数に達するまでポーリングすることを理解せず、discover に --num-results 100 をハードコードする — 処理が遅くなる可能性があります。

参考資料

  • references/flags.md — search と discover のすべてのフラグと、使用するタイミングに関するメモです。
  • references/patterns.md — 複数クエリの重複排除、SERP → フィルター → スクレイプのパイプライン、search と discover の使い分け、従来の curl によるフォールバック、共通の検証チェックリストです。
  • references/examples.md — (1)単一の Google クエリ、(2)ローカライズされた Bing、(3)複数クエリのバッチ処理と URL リストへの重複排除、(4)discover --include-content のエンドツーエンドの例です。

コメント