Skip to main content
楽天市場は、日本最大級のECプラットフォームです。商品価格、レビュー、在庫、ランキングが構造化された形で公開されており、価格モニタリング、競合分析、市場調査の対象になります。このガイドは、楽天市場から何を、どのページ構造でたどって取得するかという技術的なプレイブックです。 楽天市場のスクレイピングは、公開データを対象とし、利用規約と個人情報保護法を守る範囲で実施します。合法性の判断基準はWebスクレイピングは合法かを参照してください。

取得できるデータ

取得できる項目は、対象とするページの種類によって決まります。 検索結果(一覧)ページから取得できる項目:
  • 商品タイトル
  • 価格
  • 送料
  • 獲得ポイント
  • ランキング順位
  • レビュー件数
  • 店舗名
  • 店舗URL
  • 商品詳細ページへのURL
商品詳細ページから取得できる項目:
  • 商品説明
  • 商品画像
  • バリエーション(色・サイズなど)
  • 在庫状況
  • 販売条件
  • レビュースコア
レビューページから取得できる項目:
  • レビュー本文
  • 投稿者
  • 評価スコア
  • 投稿日
レビュー本文は著作物性が高いため、取得後の転載・再配布には制約があります。

ページ構造とデータのたどり方

楽天市場のデータ収集は、次の順序でたどります。
  1. カテゴリーまたはキーワードで検索し、検索結果ページのURLを取得する。検索条件はURLパラメータに反映されるため、対象カテゴリーごとにURLを用意すると収集範囲を管理できる。
  2. 検索結果ページから、商品の基本項目と各商品詳細ページへのURLを取得する。
  3. 取得した商品URLをループでたどり、商品詳細ページから詳細項目を取得する。
  4. レビューが必要な場合は、レビューページへ遷移し、追加読み込みを処理しながら取得する。
一覧ページの項目だけで足りるか、商品詳細やレビューまで必要かを先に決めると、ページ遷移数と対象サイトへの負荷を抑えられます。

技術的な注意点

JavaScriptで動的に読み込まれるコンテンツ

楽天市場の一部の要素は、ページを開いた直後のHTMLには含まれず、JavaScriptの実行後に読み込まれます。生のHTMLを取得するだけのスクレイパーでは、これらの要素は取得できません。対処するには、JavaScriptを実行する実ブラウザでページを描画してから抽出します。詳細はJavaScriptで描画されるページのスクレイピングを参照してください。
ページの読み込み完了イベントではなく、必要な要素が描画されたことを待って抽出します。読み込み完了と要素の描画完了は一致しないためです。

ページネーション

楽天市場の検索結果は番号によるページ送りで区切られます。レビューは追加読み込みで増える場合があります。ページ送り、次へリンク、追加読み込みといった方式ごとに扱いが変わるため、対象ページの方式を最初に確認します。各方式の扱いはページネーションの扱い方を参照してください。

アクセス制御とサーバー負荷

楽天市場は自動アクセスに対する制御を備えています。短時間に大量のリクエストを送ると検知されやすくなります。
アクセス制御を技術的に回避しようとせず、取得頻度・件数・実行時間帯を抑えて運用してください。楽天市場では一部のパスにrobots.txtでDisallowが指定されている場合があるため、対象URL単位で利用規約とrobots.txtを確認します。合法性の判断基準はWebスクレイピングは合法かを参照してください。

Octoparseでの取得

Octoparseはヘッド付きの実ブラウザでページを描画するため、JavaScriptで動的に読み込まれるコンテンツもコードを書かずに取得できます。検索一覧から商品詳細へのループ遷移、追加読み込みの待機、クラウドでの定期実行を、視覚的なエディタ上で設定できます。 楽天市場の一覧取得は、楽天市場の商品情報スクレイパーにURLを入力して開始でき、取得できる項目のプレビューを確認できます。このテンプレートはクラウド実行に対応しています。

活用シーン

  • 価格モニタリング:競合商品の価格・送料・ポイントの推移を定期的に収集する
  • 競合・市場分析:カテゴリー内のランキング、レビュー件数、店舗分布から市場を把握する
  • 在庫・需要の把握:在庫状況と売れ筋ランキングを継続的に取得する
  • レビュー分析:レビュースコアと本文の傾向を集計する
楽天市場のスクレイピングは、目的を絞るほど取得項目が減り、対象サイトへの負荷が下がり、出力の信頼性が上がります。