search
Bright Data CLIを使用してWebを検索するスキルです。`bdata search`でGoogle/Bing/YandexのSERP取得、`bdata discover`でインテントベースのセマンティック検索が可能で、スクレイピング用URLの収集やページコンテンツを含むWeb探索が必要な場合に活用します。対象URLが決まれば`scrape`へ、既知プラットフォームの構造化データが必要な場合は`data-feeds`へ処理を引き継ぎ、CLIが未導入の場合はインストールとログインを自動案内します。
description の原文を見る
Search the web via the Bright Data CLI — `bdata search` for Google/Bing/Yandex SERP, `bdata discover` for intent-ranked semantic results. Use when the user wants SERP results, needs URLs to feed into scraping, or wants semantic web discovery with optional page content. Hands off to `scrape` once target URLs are chosen, and to `data-feeds` when the user wants structured data from a known platform. Requires the Bright Data CLI; proactively guides install + login if missing.
SKILL.md 本文
Bright Data — Search
ウェブ上で何かを探す。このスキルには 2 つのコマンドが用意されています:
bdata search— 従来のキーワード SERP (Google/Bing/Yandex)。「キーワード X で何がランクしているか」を知りたい場合に最適です。bdata discover— AI インテント順位付け付きディスカバリーとオプショナルなページコンテンツ。「トピック Y に関する、インテント Z に一致するページ」を見つけたい場合に最適です。
既知のプラットフォーム (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 |
| ニュース / 画像 / ショッピング SERP | bdata search "<query>" --type news(または images、shopping) |
| Amazon/LinkedIn/TikTok/… の構造化データを必要とする | 停止 — data-feeds に引き継ぐ |
| URL を保有、コンテンツを必要とする | scrape に引き継ぐ |
アクション
コアコマンド:
# Google SERP、構造化 JSON
bdata search "site:example.com privacy policy" --engine google --json --pretty
# ローカライズされた Bing(ドイツ語の結果、ドイツ語)
bdata search "datenschutz" --engine bing --country de --language de --json
# 結果の 2 ページ目(0 からのインデックス)
bdata search "machine learning papers" --page 1 --json
# モバイル SERP(デスクトップとは異なるランキング)
bdata search "best coffee shops" --device mobile --json
# ニュース縦型
bdata search "openai" --type news --json --pretty
# インテント順位付けディスカバリー
bdata discover "enterprise LLM platforms" \
--intent "vendor pages with pricing" \
--num-results 15 --json
# ページコンテンツを Markdown で含めたディスカバリー
bdata discover "webhook best practices" \
--include-content --num-results 10 -o results.json
# 日付フィルタリング済みディスカバリー
bdata discover "react server components" \
--start-date 2025-01-01 --end-date 2025-12-31 --num-results 20
完全なフラグリファレンス:references/flags.md
search vs discover — 正しいものを選択
| 必要なもの | 使用 |
|---|---|
| 「このキーワードで Google がランク付けしているもの」 | search |
| 「この意味/インテントに一致するページ」 | discover |
| 「ニュース/画像/ショッピング縦型 SERP」 | search --type <vertical> |
| 「結果 + 1 回の呼び出しでページボディ」 | discover --include-content |
| 「クエリ間での重複排除/セマンティックランキング」 | discover |
検証ゲート
- JSON がクリーンにパースされる:
jq . <output>が 0 を返す。 - 結果配列が空でない — 空の場合、クエリは正当にゼロ結果です。クエリを緩和して再実行してください。ユーザーに知らせずに空の結果で成功を主張しないでください。
- 必須フィールドが存在:
search: 結果は.organic[]にあります。各結果にtitle+linkがあるdiscover: 結果は.results[]にあります。各結果にtitle+linkがあります。--include-contentの場合は、contentも存在
discover --include-contentの場合:contentフィールドにブロックページシグネチャがない(scrape と同じリスト、大文字小文字を区別しない):Access DeniedJust a momentAttention RequiredChecking your browsercaptchacf-browser-verificationcloudflare(合計ボディが < 2KB)
- 地理的なサニティチェック: ユーザーが国別の結果を期待していた場合、トップ結果の TLD/言語を調査してください。ミスロケーション化されている場合は、明示的な
--countryと--languageで再実行してください。
赤い旗
- Amazon、LinkedIn、TikTok などからコンテンツを取得するために
searchを使用して、data-feedsが 1 回の呼び出しでクリーンな構造化データを返す場合。 - SERP 結果をむやみに削除するために scraping する — 最初にフィルタリングする(ドメイン許可リスト、タイトルのキーワード、関連性ヒューリスティック)。
search(キーワード)とdiscover(セマンティック)を混同する。異なる質問に答えます。- scraping の前に結果セット全体で URL を重複排除することなく、複数クエリを実行する。
- SERP の順序が普遍的だと想定する — これは地理およびデバイスで個人化されます。再現性のために常に
--countryと--deviceを明示的に設定してください。 --pageを結果カウントとして使用する — これはページインデックスであり、制限ではありません。各ページは約 10 個の結果を返します。- SERP 結果が
.results[]にあると想定する —bdata searchの場合、.organic[]にあります。(Discover は.results[]を使用します。) discoverで--num-results 100をハードコーディングして、パイプラインがそれだけ見つかるまでポーリングすることを実現しない。遅い可能性があります。
リファレンス
—references/flags.mdsearchとdiscoverの完全なフラグと使用タイミングのノート。— マルチクエリ重複排除、SERP → フィルタリング → scrape パイプライン、references/patterns.mdsearchvsdiscoverの決定、従来のcurlフォールバック、共有検証チェックリスト。— (1) 単一 Google クエリ、(2) ローカライズされた Bing、(3) バッチクエリ + URL リストへの重複排除、(4)references/examples.mddiscover --include-contentエンドツーエンド。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- brightdata
- リポジトリ
- brightdata/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/brightdata/skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。