price-comparison について
price-comparisonは、在庫があり、状態を比較できる商品の低価格を調べるショッピング調査スキルです。Bright Data CLI(`bdata`)で小売店のライブ価格を収集・正規化し、引用付きの比較と購入提案を作成します。
主な機能
- 01小売価格のライブ収集
- 02商品の正規化と順位付け
- 03送料と在庫の確認
- 04通貨と地域への対応
- 05引用付き比較と購入提案
活用シーン
- 01小売店間の商品価格の比較
- 02在庫のある商品の価格調査
- 03送料と商品の状態の比較検討
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ brightdata/ skills --skill price-comparisonインストール後、Claude Code で/price-comparisonを入力して読み込まれたか確認します。
同梱ファイルreferences/output-and-pricing.md
詳細
価格比較
実際に商品を購入するのに最適な場所を見つけます。リアルタイムの小売店データを使い、古い学習データではなく、評判のよい販売者から、在庫のある最安値を探します。
Bright Data CLI(bdata)によるデータ収集と、正規化+ランキングのレイヤーを組み合わせ、出典を明記した比較表と明確な購入推奨を提示します。
学習データから価格を引用してはいけません。 価格と在庫状況は1時間ごとに変わります。 必ず最初にリアルタイムデータを取得してから比較してください。データソースで問題が発生した場合は、その旨を伝え、価格の欠落を推測で埋めてはいけません。
前提条件
- Bright Data CLI をインストール済みであること:
curl -fsSL https://cli.brightdata.com/install.sh | bash - 初回ログインを完了していること:
bdata login # or: bdata login --device (SSH / headless)
データを収集する前に確認します:
if ! command -v bdata >/dev/null 2>&1; then
echo "bdata CLI not installed — see skills/bright-data-best-practices/references/cli-setup.md"
elif ! bdata zones >/dev/null 2>&1; then
echo "bdata not authenticated — run: bdata login"
fi
どちらかの確認に失敗した場合は、処理を中断してセットアップに誘導してください。
基本的なワークフロー
- 対象範囲を確認する — どの商品ですか(商品名、ASIN、または URL)? どの小売店を対象にしますか(デフォルト:Amazon + Google Shopping)? どの国/地域を対象にしますか(デフォルト:US。価格、通貨、在庫状況、対象となる小売店が変わります)? 価格以外に重視する条件はありますか(レビュー、配送/Prime、新品か整備済み品か)?
- 特定してから収集する — 商品名しか分からない場合は、小売店の
discover_by_*スクレーパーとbdata search --type shoppingを使って、具体的な商品 URL/販売情報を特定してから、各小売店の構造化データを取得します。独立した呼び出しは並列化してください。 - 正規化する — 比較する前に、すべての結果をreferences/output-and-pricing.mdにある単一の販売情報スキーマにまとめます。すべての価格を1つの通貨に換算し、使用した為替レートと日付を記載してください。
- 順位付けしてフラグを付ける — 送料込みの合計金額(価格+送料)で並べ替えます。在庫切れ、整備済み品/中古品、サードパーティ販売者の商品にフラグを付けてください。購入できない商品や中古品は、価格が安くてもデフォルトで最安のおすすめにしてはいけません。
- 結果を提示する — 比較表(出力 A)を作成し、続けて「最もおすすめの購入先」を明確に示します。すべてのレポートで、在庫のある最安値と、購入判断に影響する重要な違いを伝えてください。
データ収集ルール
- 商品名を先に URL に解決します。 最初から正確な URL が分かっていることはほとんどありません。小売店のキーワード検索スクレーパーと
bdata search "<product>" --type shopping --jsonを使って該当商品を特定してから、それらの URL を商品データの取得パイプラインに渡してください。 - 対応している小売店ではスクレイピングよりパイプラインを優先します。 Amazon、Walmart、eBay、Best Buy、Google Shopping には、価格/在庫状況/評価を含む整理された JSON を返す、事前構築済みスクレーパーがあります。
bdata scrape amazon.comは絶対に実行しないでください。Amazon はスクレーパーをブロックしますが、パイプラインなら安定して回避できます。 - スクレーパーを調べてから使い、推測しないでください。
bdata pipelines search、続けてbdata pipelines info <dataset_id> <method>、その後bdata pipelines runの順に実行してください。dataset_idやフィールド名を推測してはいけません。ワークフロー全体については、brightdata-cliスキルとパイプラインのリファレンスを参照してください。 - 出力を解析または比較する必要がある場合は、必ず
--jsonを渡してください。 - コスト効率を重視します。 標準的な比較に必要な
bdata呼び出しは約3~8回で、50回ではありません。ページにあるすべての販売者ではなく、ユーザーが指定した販売情報を取得してください。 - 1つの応答内で複数の Bash ツール呼び出しを使い、独立した処理を並列化します。 Walmart の処理を始める前に Amazon の完了を待ってはいけません。
- すべての価格に、出典 URL と収集時刻を記載してください。 出典のない価格や日付のない価格は、いかなる場合も提示してはいけません。
- 価格を捏造したり、欠落を埋めたりしてはいけません。 小売店から結果が返らなかった場合は、「不足データと注意点」に記載してください。
小売店モジュール
商品と地域に合った小売店を選んでください。米国の電子機器なら Amazon + Best Buy + Walmart + Google Shopping、マーケットプレイス/中古品なら eBay、米国以外なら現地の Amazon ドメインを確認し、地域に関連する小売店を追加してください。
対応する小売店:商品 URL 指定
bdata pipelines search "<retailer> product" # pick the dataset_id for the right domain
bdata pipelines info <dataset_id> collect_by_url # check required fields
bdata pipelines run <dataset_id> collect_by_url "<product-url>" -o <retailer>.json
URL ごとに1件のレコードが返され、価格、タイトル、在庫状況、評価、販売者が含まれます。同じ小売店の URL は複数まとめて1回の run に渡してください。地域に合った小売店のドメインを使用してください(Amazon の場合は amazon.com、amazon.de、amazon.co.uk など)。
キーワードで検索する(名前しかわからない場合)
bdata pipelines info <dataset_id> # look for a discover_by_* method
bdata pipelines info <dataset_id> <method> # see its input fields
bdata pipelines run <dataset_id> <method> --<field> "<product name>" --limit-per-input 5
結果から適切な製品 URL を特定し、その URL に対して collect_by_url を実行します。返されたレコードはすべて課金対象となるため、--limit-per-input は小さい値にしてください。
Google Shopping — 販売店横断の概要
bdata pipelines search "google shopping"
bdata pipelines run <dataset_id> collect_by_url "<google-shopping-product-url>" -o gshopping.json
Shopping の製品 URL がわかっている場合に、複数の販売店をすばやく確認するのに最適です。製品名からその URL を見つけ、価格帯も手早く確認するには、SERP shopping を使用します。
bdata search "iPhone 17 Pro 256GB" --type shopping --country us --json
不明な販売店/地域の販売店 — ページをスクレイピングする
bdata scrape "https://retailer.example/product-page"
次に、マークダウンから価格、通貨、在庫状況を抽出します。専用のパイプラインがない地域の販売店(地域の家電量販チェーンなど)に使用します。
スクレイパーをハードコードしないでください。
bdata pipelines searchでdataset_idを選び、入力フィールドはbdata pipelines infoで確認してください。 2 つのスクレイパーが同じ名前を共有している場合があるため、ドメインを確認してください。不足しているフィールドや不明なフィールドがある場合、課金が発生する前に処理が失敗します。
地域の扱い
- 国によってすべてが変わります — 価格、通貨、在庫状況、利用できる販売店が異なります。実行前に必ず地域を確認してください。ユーザーから指定がない場合のみ、デフォルトを米国にします。
- ローカライズされた SERP/ショッピング結果を得るには、
bdata searchに--country <code>を渡してください(イスラエルなら--country il、ほかにde、ukなど)。 - 製品 URL では現地の Amazon ドメインを使用してください。 イスラエルなど多くの地域では、
amazon.comを利用した国際配送と現地の販売店の両方で購入できます。両方を対象にし、配送/輸入に関する影響を明記してください。 - 通貨を 1 つの表示通貨に統一し、使用した為替レートと日付を記載してください。また、各販売価格の元の通貨での金額もデータセットに保持してください。
出力
references/output-and-pricing.md を読み、次の内容を確認してください。
- 正規化された販売オファーのレコードスキーマ(表とデータセット出力の両方に共通する行の形式)。
- 総コストによる順位付けのルール(判明している場合は価格+送料+輸入費用/税金を考慮し、最安を決める前に在庫と商品の状態を確認)。
- 通貨の正規化に関する規則。
- 出力テンプレート — A(比較表+おすすめ)、B(構造化データセット)、C(両方)。
出力品質基準
- すべての価格に出典 URL とタイムスタンプを付けます — 日付がなく、出典も明記されていない価格は使用しません。
- 価格の横に必ず在庫状況を表示します — 在庫切れの安いオファーは最安ではありません。再生品/中古品/第三者販売品は明示してください。
- 「最もお得な購入先」を 1 つ挙げます — 在庫があり、状態が比較可能な選択肢の中で最も安いものです。次点と、そちらを選ぶ理由も説明してください。
- 情報の不足を正直に示します — 今回の実行で結果が返らなかった販売店や、アクセスが制限された販売店を列挙してください。価格が古いと思われる場合や、「~から」という価格帯の場合も記載してください。
- 通貨と地域を明記します — 「$ USD · region: US」のように示すか、換算に使用した為替レートを記載してください。
- 価格が不明な場合、決して推定しないでください。 不足している情報として報告し、埋め合わせないでください。