Sainsbury'sの商品データをノーコードでスクレイピングするには、DatablistのAI Scraping AgentにカテゴリURLを入力し、必要な項目を指示したうえで、対象を広げる前に1ページだけテストします。商品URLと、種類ごとに明確に分けた価格を表形式で取得でき、エクスポートや後日のスナップショットとの比較に活用できます。

通常価格、Nectar Price、単価は、それぞれ別の列に分けることをおすすめします。値引きに見える価格をすべてセール価格として扱うと、比較の信頼性が損なわれます。ロイヤルティ会員向け価格と1kg当たりの価格では、示している内容が異なるためです。

📌 ワークフローの概要

入力: カテゴリURLと商品抽出用のプロンプト。

出力: 商品名、URL、通常価格、Nectar Price、単価、プロモーション情報、取得元の一覧ページURL。

対象を広げる前の確認: 1ページ目をWebサイトと照合し、ページネーションを確認して、使用したクレジットを記録します。

モニタリング: 実行ごとに日付入りのスナップショットを保存し、同じ商品の価格履歴を残します。

このガイドで解説する内容

管理しやすい商品スナップショットを選ぶ

まずは、Sainsbury'sの魚介類・シーフード一覧のように、ご自身で内容を確認できるカテゴリを1つ選びます。商品カードには、通常価格、Nectar会員向けオファー、単価、適用条件などが表示される場合があります。抽出指示では、これらの項目を明確に区別する必要があります。

テスト実行の予算を見積もる

AI scrapingでは、モデルの利用とブラウジング処理にクレジットを消費します。まず小規模に実行すれば、複数カテゴリへ広げる前に、出力内容とコストを確認できます。他の小売サイトの事例を基に、商品1件当たりのコストが固定されているとは考えないでください。

Sainsbury's商品のスクレイピング方法 - カスタムScraperのコスト
Sainsbury's商品のスクレイピング方法 - カスタムScraperのコスト

対象を広げる前に出力項目を決める

Retail Product Scraperテンプレートには、プロンプトと出力項目のひな型が用意されています。Sainsbury'sの価格表示に合わせて項目を調整し、まず1ページ分のサンプルを確認してください。所要時間はページの内容や調査処理によって変わります。また、ページ上限を設定しても、すべての商品を取得できるとは限りません。

Sainsbury's商品のスクレイピング方法 - Scraper構築にかかる時間
Sainsbury's商品のスクレイピング方法 - Scraper構築にかかる時間

ページ変更時は結果を再確認する

AI scrapingは、すべての項目に固定のCSS selectorを指定しなくてもコンテンツを解釈できます。ただし、商品を見落としたり、価格ラベルを取り違えたり、アクセス制限に遭遇したりする可能性はあります。レイアウトやプロモーションの表示形式が変わった場合は、サンプルを再確認してください。

DatablistのAI AgentでSainsbury's商品をスクレイピングする方法

AI Scraping AgentにURLと指示を入力すると、設定した出力項目に沿ってレコードが返されます。

DatablistのAI Scraping Agentとは

まずはRetail Product Scraperテンプレートを使用します。現行のテンプレートではHTML renderingとページネーションが設定され、GPT-5 miniが使用されています。テンプレートの内容は変更される可能性があるため、読み込まれた設定をご確認ください。モデルを選ぶだけでは、出力の検証を省略できません。

カテゴリページまたはブランドページから始める

ホームページや範囲の広い検索結果ではなく、対象を絞ったカテゴリから始めることをおすすめします。対象商品が明確になり、返された行との照合がしやすくなるためです。大きなページは途中で切れたり確認が難しくなったりするため、必要に応じて広いカテゴリを分割してください。

一覧ページのURLに加え、表示されている地域や配送条件もスナップショットと一緒に保存してください。結果が示すのは、そのブラウジングセッションでAgentが読み取れた内容です。カタログ全体を網羅していることや、すべての住所で在庫があることを証明するものではありません。

Sainsbury'sから取得できるデータ

価格スナップショットでは、次の出力項目を設定します。

  • Product NameとProduct URL: 一覧に掲載された商品と容量を識別します。
  • Standard Price: ロイヤルティ会員向けオファーとして別途表示された価格を除く、GBP建ての商品表示価格です。
  • Nectar Price: Nectar Priceとして個別に表示されている場合に取得します。
  • Unit Price: £/kgなど、単位を含む比較用の価格です。
  • Promotion Text: 商品とともに表示される適用条件やキャンペーン期間です。
  • Availability: 在庫状況や購入可否が明示されている場合のみ取得します。商品カードが存在するだけで在庫ありと推測しないでください。
  • Listing URL: レコードを取得したカテゴリページまたは一覧ページのURLです。

2種類の商品価格にはNumber出力を、Unit PriceとPromotion TextにはTextを使用します。数値価格が表示されていない場合は空欄にしてください。汎用テンプレートのSale Priceだけでは、すべてのオファーを適切に表せません。このプロンプトに合わせて項目名と説明を変更してください。

Sainsbury'sスクレイピングの手順

カテゴリURLを1つ用意し、必要な項目を決めます。結果を確認しやすいよう、最初の実行は1ページに限定してください。

ステップ1:登録してCollectionを作成する

Datablist.comに登録し、New Collectionを作成します。

Sainsbury’s商品のスクレイピング方法 - Datablistホームページ
Sainsbury’s商品のスクレイピング方法 - Datablistホームページ
Sainsbury’s商品のスクレイピング方法 - New Collection
Sainsbury’s商品のスクレイピング方法 - New Collection

ステップ2:AI Scraping Agentを開く

See all sourcesをクリックし、***AI Scraping Agent (Site Scraper)***を選択します。

Sainsbury's商品のスクレイピング方法 - See All Sources
Sainsbury's商品のスクレイピング方法 - See All Sources
Sainsbury's商品のスクレイピング方法 - AI Agentの選択
Sainsbury's商品のスクレイピング方法 - AI Agentの選択

設定画面には、URL、プロンプト、ページネーション、詳細設定があります。

Sainsbury's商品のスクレイピング方法 - Source設定
Sainsbury's商品のスクレイピング方法 - Source設定

ステップ3:Retail Product Scraperを選びURLを入力する

  1. Retail Product Scraperテンプレートを読み込みます。
Sainsbury's商品のスクレイピング方法 - テンプレートの選択
Sainsbury's商品のスクレイピング方法 - テンプレートの選択
  1. 現在有効なカテゴリURLを貼り付けます。例:https://www.sainsburys.co.uk/groceries/browse/frozen/fish-and-seafood/c:1019924。保存済みの2ページ目のリンクではなく、1ページ目から開始してください。
Sainsbury's商品のスクレイピング方法 - URL設定
Sainsbury's商品のスクレイピング方法 - URL設定
  1. 汎用の指示を、以下のプロンプトに置き換えます。URLはSourceのURL欄に入力し、プロンプトには抽出ルールを記述します。
Sainsbury'sの商品・価格スナップショット

指定されたSainsbury'sの一覧ページから、商品カードごとに1件のレコードを抽出してください。値が正しい商品に紐づくよう、商品ラベルと価格をセットで読み取ってください。

Product Name、Product URL、Standard Price、Nectar Price、Unit Price、Promotion Text、Availability、Listing URLを返してください。URLは完全な絶対URLにしてください。Standard PriceとNectar Priceは通貨記号を除いたGBPの数値にしてください。Unit Priceは単位を含む表示テキストのまま保持してください。

Nectar Priceとして明示された価格は、Nectar Priceに格納してください。1kg当たり、1リットル当たり、1個当たりなどの比較価格を商品価格の代わりに使用しないでください。オファー条件はPromotion Textにコピーしてください。条件が曖昧なまとめ買いオファーから、単品価格を計算しないでください。値がない場合は空欄にし、在庫や価格を推測・捏造しないでください。

バナー、レコメンド、商品以外のコンテンツは除外してください。ページネーションが有効な場合に限り、次ページへのリンクをたどってください。アクセス拒否、ログイン、認証チャレンジのページを、商品が0件のカテゴリとして報告しないでください。各レコードには、実際に使用した一覧ページの正確なURLを保持してください。

  1. Enable Paginationを有効にし、テスト時のページ上限を1に設定します。サンプルを確認した後、次のカテゴリページを読み取れる場合に限り、Max Pagesを増やしてください。
Sainsbury's商品のスクレイピング方法 - ページネーション設定
Sainsbury's商品のスクレイピング方法 - ページネーション設定

一覧ページでJavaScript renderingが必要な場合は、Website Scraper Option: Render HTMLを有効にしておきます。詳細設定でモデルとMax iterationsを確認し、Continueをクリックしてください。iterationの上限を増やすと調査処理を多く実行できる一方で、コストが上がる可能性があります。取得商品数が増える保証はありません。

Sainsbury's商品のスクレイピング方法 - 詳細設定
Sainsbury's商品のスクレイピング方法 - 詳細設定

ステップ4:出力項目を設定する

出力項目の名前と説明をプロンプトに合わせます。不足している場合は、Nectar Price、Unit Price、Promotion Text、Listing URLを追加してください。説明が競合したままSale Priceを残さず、Nectar Priceへ名称を変更します。2つの商品価格にはNumber出力を使用してください。

不要な出力項目はX Iconsで削除します。表に表示したい項目には、それぞれ対応するoutput propertyが必要です。

Sainsbury's商品のスクレイピング方法 - 出力設定
Sainsbury's商品のスクレイピング方法 - 出力設定

ステップ5:実行する

Run Import Nowをクリックしてテストを開始します。

Sainsbury's商品のスクレイピング方法 - Importの実行
Sainsbury's商品のスクレイピング方法 - Importの実行

以下のスクリーンショットは出力テーブルのレイアウト例であり、Sainsbury'sから実測した抽出結果を示すものではありません。

Sainsbury's商品のスクレイピング方法 - 結果の概要
Sainsbury's商品のスクレイピング方法 - 結果の概要

対象を広げる前に、次の点を確認します。

  • Nectarオファーがある商品とない商品を含め、複数の行を実際の商品カードと照合します。
  • 通常価格と単価が入れ替わっていないこと、Nectar Priceがない商品では空欄になっていることを確認します。
  • 容量とURLを確認し、同じ実行内でProduct URLが重複していないか調べます。
  • 返された行を画面上の一覧と比較し、ページネーションを増やした後は後続ページも確認します。
  • 使用クレジットと、ブロックされたページや不完全なページを記録します。一部だけ取得できた結果を、カテゴリ全体の完全なデータとして扱わないでください。

CSVスナップショットの作成には、Datablistのエクスポート機能をご利用いただけます。価格項目と取得元URLは、まとめて保存してください。

繰り返し実行で価格履歴を残す

固有のProduct URLを使えば同じ商品を識別できますが、1つのCollectionを長期間使い、重複URLを防ぐ設定にすると、後から取得したデータが破棄される場合があります。それだけでは価格履歴を作成できません。

実行ごとに、日付を付けた別のCollectionまたはエクスポートとして保存することをおすすめします。別のスナップショットと比較する前に、実際の取得日時を追加してください。Product URLでレコードを照合し、通常価格は通常価格、Nectar PriceはNectar Priceというように、同じ種類の項目同士を比較します。容量の変更を見つけられるよう、pack sizeとUnit Priceも保存してください。

複数のスナップショットを統合する場合は、Product URLと取得日時の両方を保持します。同じスナップショット内の重複商品だけを削除し、日付が異なる同一商品の行は残してください。

DatablistのAI Agentは他の小売サイトにも対応

テンプレートは他の小売サイトにも応用できますが、価格ラベルやページネーションはサイトごとに確認してください。以下のガイドをワークフローの出発点としてご利用いただけます。

  1. Morrisonsの商品をスクレイピングする
  2. Tescoの商品をスクレイピングする
  3. Asdaの商品をスクレイピングする

重要ポイント

  1. まずは1カテゴリ、1ページ分のサンプルから始めます。
  2. プロンプトと出力項目では、通常価格、Nectar Price、単価を分けます。
  3. ページネーションを増やす前に、データの完全性とコストを確認します。
  4. 時系列で価格を比較する場合は、日付入りのスナップショットを保存します。

Sainsbury'sスクレイピングのよくある質問

Sainsbury's商品のスクレイピング費用はいくらですか

コストは、モデルの使用量と、HTML renderingや処理ページ数を含むブラウジング処理によって変わります。大規模な実行を見積もる前に、1ページのテストで使用したクレジットをご確認ください。詳しくは、Datablistのクレジットの仕組みをご覧ください。

Sainsbury'sの全商品取得にはどのくらいかかりますか

カテゴリ単位のテストだけでは、全カタログの処理時間や網羅率は判断できません。必要なカテゴリを定義し、それぞれのページネーションを確認して、完了したページと不完全なページを記録してください。重複するカテゴリには同じ商品が含まれる場合があるため、網羅率を算出する前に、日付ごとのスナップショット内で重複を削除します。

All Productsよりカテゴリページが適している理由は何ですか

対象を絞ったカテゴリなら、商品群をご自身で確認できます。大規模な一覧は、Agentが一度に読み取れる量を超える可能性があります。すべての商品を取得できたと決めつけず、小さなカテゴリに分割して出力を確認してください。

Sainsbury'sのセール価格やキャンペーンも取得できますか

通常価格と併せて、明示されたNectar Priceとプロモーション情報を取得するよう指示します。値を比較する前に、適用条件をご確認ください。単価は比較のための指標です。条件付きのロイヤルティ会員向けオファーやまとめ買い価格で、通常の商品価格を置き換えないでください。

英国でSainsbury'sをスクレイピングするのは合法ですか

このワークフローは、データを収集または再利用する許可を保証するものではありません。実行前にSainsbury'sの現行利用規約を読み、予定している用途に問題がないかご確認ください。ページが一般公開されていることや、抽出に成功したことだけでは、合法性や利用許可の有無を判断できません。

Sainsbury'sはScraperをブロックしますか

実行時にアクセス制限が発生したり、読み取り可能な商品情報がないページが返されたりすることがあります。再試行する前に、失敗の内容を確認してください。HTML renderingはJavaScriptコンテンツの読み取りに役立ちますが、アクセスを保証するものではありません。ブロックされたページを「商品0件のカテゴリ」として数えないでください。

価格監視のために定期実行できますか

繰り返し実行を自動化する前に、1回分のスナップショットを検証し、各実行結果を取得日時とともに保存する方法を決めてください。前述の価格履歴の残し方もご参照ください。Product URLだけを使った重複防止ルールでは、実行ごとに変化する価格を保存できません。

コーディングなしでSainsbury'sをスクレイピングできますか

はい。テンプレートを読み込み、URLを入力して、プロンプトと出力項目を調整した後、小規模なサンプルを実行します。設定はノーコードで行えますが、結果の確認は必要です。

スクレイピングに適したSainsbury'sのカテゴリはどれですか

ご自身で内容を確認できる、具体的な食品カテゴリから始めてください。古いページネーションリンクではなく、Webサイト上の現在のURLを使用します。他のカテゴリで設定を再利用する前に、画面に表示される項目とアクセス条件をご確認ください。

AI Agentはページネーションを自動処理できますか

Enable Paginationを有効にすると、Sourceは検出した次ページをMax Pagesの上限までたどることができます。現在のデフォルト値は10、設定可能な最大値は5,000です。これらは設定上の上限であり、すべてのページへアクセスできることや、すべての商品が返されることを保証するものではありません。

AI scrapingとは何ですか

AI scrapingは、言語モデルを使ってページの内容をプロンプトで指定した項目に変換する手法です。このワークフローでは、URLだけでなく、価格ラベルと商品識別のルールも重要です。

AI scrapingと従来のWeb scrapingの違いは何ですか

従来のデータ抽出では、固定のselectorを使用するのが一般的です。AIによる抽出は指示に基づいてコンテンツを解釈するため、取得項目を柔軟に変更できます。どちらの手法でも、ページへアクセスできることに加え、値の欠落や誤認識がないか確認する必要があります。