Amazonの商品データをスクレイピングする方法:PythonとAIウェブスクレイパーの比較

最終更新日 April 30, 2026
AI要約
この記事では、Amazonの商品データを取得する2つの方法を比較します。Pythonで自作する方法と、ThunderbitのAIウェブスクレイパーを使ってコードなしで素早く抽出する方法を、実例とベストプラクティス付きで紹介します。

正直に言うと、Amazonはインターネット全体にとって、ほぼショッピングモールであり、スーパーマーケットであり、家電量販店でもあります。営業、eコマース、オペレーションに携わっているなら、Amazonで起きたことはAmazonの中だけでは終わらないと、すでに分かっているはずです。価格設定、在庫、さらには次の大型製品ローンチにまで影響します。とはいえ問題は、商品詳細、価格、評価、レビューといったおいしいデータの数々が、買い物客向けに作られたWeb画面の奥に閉じ込められていることです。データを欲しがるチーム向けではありません。では、1999年みたいに週末ずっとコピペを続けることなく、そのデータをどうやって手に入れるのでしょうか。

そこで登場するのがウェブスクレイパーです。このガイドでは、Amazonの商品データを抽出する2つの方法を紹介します。ひとつは、昔ながらの「袖をまくってPythonで書く」方法。もうひとつは、コード不要のウェブスクレイパーであるを使って、AIに重たい作業を任せる現代的なやり方です。実際のPythonコードを、つまずきやすいポイントや回避策も含めて解説したうえで、Thunderbitなら同じデータをわずか数クリックで取得できることをお見せします。コーディングできる開発者でも、ビジネスアナリストでも、単純な手作業のデータ入力にうんざりしている人でも、きっと役立つはずです。

Amazonの商品データを抽出する理由は?(amazon scraper python、pythonでのウェブスクレイピング)

Amazonは世界最大のオンライン小売業者であるだけでなく、競合インテリジェンスのための世界最大級のオープンマーケットでもあります。が並び、がいるAmazonは、次のようなことをしたい人にとって宝の山です。

amazon-scraper-use-cases-price-monitoring-lead-generation.png

  • 価格を監視する(そして自社価格をリアルタイムで調整する)
  • 競合を分析する(新商品、評価、レビューの動向を追う)
  • リードを獲得する(販売者、サプライヤー、潜在的なパートナーを見つける)
  • 需要を予測する(在庫状況や売れ筋ランキングを観察する)
  • 市場トレンドを見つける(レビューや検索結果を分析する)

しかも、これは理屈だけではありません。実際の企業が、実際のROIを出しています。たとえば、ある家電小売業者は、Amazonの価格データを抽出して。また別のブランドは、競合価格の追跡を自動化したことで、しました。

以下は、主な用途と期待できるROIの簡単な表です。

用途使う人一般的なROI / 効果
価格監視eコマース、オペレーション利益率15%以上の向上、売上4%増、アナリスト作業時間30%削減
競合分析営業、プロダクト、オペレーション価格調整の高速化、競争力向上
市場調査(レビュー)プロダクト、マーケティング製品改善の高速化、広告コピーの改善、SEOインサイト獲得
リード獲得営業月3,000件超のリード、担当者1人あたり週8時間以上の削減
在庫・需要予測オペレーション、サプライチェーン過剰在庫を20%削減、欠品の減少
トレンド把握マーケティング、経営層売れ筋商品やカテゴリの早期発見

さらに決定打として、が、今ではデータ分析から測定可能な価値を得ていると報告しています。Amazonをスクレイピングしていないなら、インサイトもお金も取りこぼしていることになります。

概要:AmazonスクレイパーPython vs. コード不要のウェブスクレイパーツール

ブラウザ上のAmazonデータを、スプレッドシートやダッシュボードに取り出す方法は大きく2つあります。

  1. AmazonスクレイパーPython(pythonでのウェブスクレイピング):

    RequestsやBeautifulSoupなどのPythonライブラリを使って、自分でスクリプトを書きます。自由度は高いですが、コーディングの知識、ボット対策への対応、そしてAmazonの仕様変更に合わせた保守が必要です。

  2. コード不要のウェブスクレイパーツール(Thunderbitなど):

    ポイントしてクリックするだけでデータを抽出できるツールを使います。プログラミングは不要です。のような最新ツールは、AIで取得すべきデータを判断し、サブページやページ送りにも対応し、ExcelやGoogle Sheetsへそのまま出力できます。

比較すると、こんな感じです。

比較項目Pythonスクレイパーコード不要(Thunderbit)
セットアップ時間長い(インストール、コーディング、デバッグ)短い(拡張機能を入れるだけ)
必要スキルコーディング必須不要(ポイント&クリック)
柔軟性無制限一般的な用途では高い
保守自分で修正ツール側で自動更新
ボット対策対応プロキシやヘッダーを自分で管理内蔵機能で自動対応
拡張性手動(スレッド、プロキシ)クラウドスクレイピング、並列処理
データ出力自由設計(CSV、Excel、DB)ワンクリックでExcel、Sheetsへ
コスト無料(自分の時間+プロキシ代)フリーミアム、規模に応じて課金
向いている人開発者、細かな要件がある人ビジネスユーザー、すぐ結果がほしい人

次のセクションでは、まずPythonでAmazonスクレイパーを作る方法を実際のコード付きで説明し、そのあとThunderbitのAIウェブスクレイパーで同じことをする方法を紹介します。

AmazonスクレイパーPythonの始め方:前提条件とセットアップ

コードに入る前に、まず環境を整えましょう。

必要なもの:

  • Python 3.x(からダウンロード)
  • コードエディタ(私はVS Codeをよく使いますが、何でも構いません)
  • 以下のライブラリ:
    • requests(HTTPリクエスト用)
    • beautifulsoup4(HTML解析用)
    • lxml(高速なHTMLパーサー)
    • pandas(データ表・出力用)
    • re(正規表現、標準搭載)

ライブラリをインストールする:

1pip install requests beautifulsoup4 lxml pandas

プロジェクトの準備:

  • プロジェクト用の新しいフォルダを作成します。
  • エディタを開き、新しいPythonファイルを作成します(例:amazon_scraper.py)。
  • これで準備完了です。

ステップ別:PythonでAmazonの商品データをウェブスクレイピングする方法

まずは、Amazonの商品ページ1件をスクレイピングしてみましょう。(複数商品や複数ページのスクレイピングはこのあと説明します。)

1. リクエスト送信とHTML取得

まずは商品ページのHTMLを取得します。(URLは任意のAmazon商品ページに置き換えてください。)

1import requests
2url = "<https://www.amazon.com/dp/B0ExampleASIN>"
3response = requests.get(url)
4html_content = response.text
5print(response.status_code)

注意: この基本リクエストは、Amazonにブロックされる可能性が高いです。商品ページの代わりに503エラーやCAPTCHAが表示されることもあります。なぜでしょう? Amazonは、あなたが本物のブラウザではないことを見抜いているからです。

Amazonのボット対策への対応

Amazonはボットを歓迎していません。ブロックを避けるには、次の対応が必要です。

  • User-Agentヘッダーを設定する(ChromeやFirefoxを装う)
  • User-Agentをローテーションする(毎回同じものを使わない)
  • リクエストを間引く(ランダムな遅延を入れる)
  • プロキシを使う(大規模スクレイピング向け)

ヘッダーの設定はこんな感じです。

1headers = {
2    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)... Safari/537.36",
3    "Accept-Language": "en-US,en;q=0.9",
4}
5response = requests.get(url, headers=headers)

少し凝ったことをしたいなら、User-Agentの一覧を用意して、リクエストごとに切り替えます。大量処理ならプロキシサービスの利用が必要ですが、少量のスクレイピングなら、ヘッダーと待機時間で十分なことが多いです。

主要な商品フィールドを抽出する

HTMLが取れたら、BeautifulSoupで解析します。

1from bs4 import BeautifulSoup
2soup = BeautifulSoup(html_content, "lxml")

では、必要な情報を取り出してみましょう。

商品タイトル

1title_elem = soup.find(id="productTitle")
2product_title = title_elem.get_text(strip=True) if title_elem else None

価格

Amazonの価格は、いくつかの場所に表示されることがあります。次を試してください。

1price = None
2price_elem = soup.find(id="priceblock_ourprice") or soup.find(id="priceblock_dealprice")
3if price_elem:
4    price = price_elem.get_text(strip=True)
5else:
6    price_whole = soup.find("span", {"class": "a-price-whole"})
7    price_frac = soup.find("span", {"class": "a-price-fraction"})
8    if price_whole and price_frac:
9        price = price_whole.text + price_frac.text

評価とレビュー数

1rating_elem = soup.find("span", {"class": "a-icon-alt"})
2rating = rating_elem.get_text(strip=True) if rating_elem else None
3review_count_elem = soup.find(id="acrCustomerReviewText")
4reviews_text = review_count_elem.get_text(strip=True) if review_count_elem else ""
5reviews_count = reviews_text.split()[0]  # 例: "1,554 ratings"

メイン画像URL

Amazonは、HTML内のJSONに高解像度画像を隠していることがあります。簡単な正規表現で取得する方法はこちらです。

1import re
2match = re.search(r'"hiRes":"(https://.*?.jpg)"', html_content)
3main_image_url = match.group(1) if match else None

または、メイン画像タグを直接取得します。

1img_tag = soup.find("img", {"id": "landingImage"})
2img_url = img_tag['src'] if img_tag else None

商品詳細

ブランド、重量、サイズなどの仕様は、たいてい表にあります。

1details = {}
2rows = soup.select("#productDetails_techSpec_section_1 tr")
3for row in rows:
4    header = row.find("th").get_text(strip=True)
5    value = row.find("td").get_text(strip=True)
6    details[header] = value

Amazonが「detailBullets」形式を使っている場合は、こちらです。

1bullets = soup.select("#detailBullets_feature_div li")
2for li in bullets:
3    txt = li.get_text(" ", strip=True)
4    if ":" in txt:
5        key, val = txt.split(":", 1)
6        details[key.strip()] = val.strip()

結果を表示します。

1print("Title:", product_title)
2print("Price:", price)
3print("Rating:", rating, "based on", reviews_count, "reviews")
4print("Main image URL:", main_image_url)
5print("Details:", details)

複数商品のスクレイピングとページ送りの処理

1件だけでも十分ですが、たぶん複数件まとめて取りたいはずです。ここでは検索結果や複数ページのスクレイピング方法を紹介します。

検索ページから商品リンクを取得する

1search_url = "<https://www.amazon.com/s?k=bluetooth+headphones>"
2res = requests.get(search_url, headers=headers)
3soup = BeautifulSoup(res.text, "lxml")
4product_links = []
5for a in soup.select("h2 a.a-link-normal"):
6    href = a['href']
7    full_url = "<https://www.amazon.com>" + href
8    product_links.append(full_url)

ページ送りを処理する

Amazonの検索URLは&page=2&page=3のように続きます。

1for page in range(1, 6):  # 最初の5ページをスクレイピング
2    search_url = f"<https://www.amazon.com/s?k=bluetooth+headphones&page={page}>"
3    res = requests.get(search_url, headers=headers)
4    if res.status_code != 200:
5        break
6    soup = BeautifulSoup(res.text, "lxml")
7    # ... 上と同様に商品リンクを抽出 ...

商品ページを順に回ってCSVへ出力する

商品データを辞書のリストとして集め、pandasを使います。

1import pandas as pd
2df = pd.DataFrame(product_data_list)  # dictのリスト
3f.to_csv("amazon_products.csv", index=False)

Excelに出力するならこちらです。

1df.to_excel("amazon_products.xlsx", index=False)

AmazonスクレイパーPythonプロジェクトのベストプラクティス

現実的に言うと、Amazonはサイトを頻繁に変え、スクレイパー対策も続けています。プロジェクトを動かし続けるコツは次のとおりです。

  • ヘッダーとUser-Agentをローテーションするfake-useragentのようなライブラリを使う)
  • 大規模スクレイピングではプロキシを使う
  • リクエストを間引く(リクエスト間にランダムなtime.sleep()を入れる)
  • エラーを丁寧に処理する(503でリトライし、ブロックされたら待機を長くする)
  • 柔軟な解析ロジックを書く(各フィールドに複数のセレクタを用意する)
  • HTML変更を監視する(急に全部Noneになるならページを確認する)
  • robots.txtを尊重する(Amazonは多くのセクションのスクレイピングを禁止しています。責任ある運用を)
  • 処理しながらデータを整形する(通貨記号、カンマ、空白を取り除く)
  • コミュニティにつながる(フォーラム、Stack Overflow、Redditのr/webscrapingなど)

スクレイパー保守のチェックリスト:

  • [ ] User-Agentとヘッダーをローテーションする
  • [ ] 大規模スクレイピングならプロキシを使う
  • [ ] ランダムな遅延を入れる
  • [ ] 更新しやすいようにコードをモジュール化する
  • [ ] BANやCAPTCHAを監視する
  • [ ] 定期的にデータを出力する
  • [ ] セレクタとロジックをドキュメント化する

さらに深く知りたいなら、もぜひご覧ください。

コード不要の代替案:Thunderbit AIウェブスクレイパーでAmazonをスクレイピングする

ここまででPythonでのやり方は見ました。では、コードを書きたくない場合、あるいは2クリックでデータを取って、そのまま次へ進みたい場合はどうでしょうか。そこで登場するのがです。

ThunderbitはAIウェブスクレイパーのChrome拡張機能で、Amazonの商品データ(そしてほぼあらゆるWebサイトのデータ)を、コーディングなしで抽出できます。私が気に入っている理由は次のとおりです。

thunderbit-key-features-ai-web-scraper.png

  • AIによる項目提案: ボタンをクリックするだけで、ThunderbitのAIがページ上のデータを判断し、タイトル、価格、評価などの列を提案します。
  • 即使えるデータテンプレート: Amazon向けには、よく使う項目をまとめて取得できる事前作成テンプレートがあります。セットアップは不要です。
  • サブページのスクレイピング: 商品一覧を取得したあと、Thunderbitに各商品詳細ページを訪問させて、さらに情報を自動で取り出せます。
  • ページ送り対応: 「次へ」ページや無限スクロールもThunderbitが処理します。
  • Excel、Google Sheets、Airtable、Notionへ出力: ワンクリックで、すぐ使えるデータになります。
  • 無料枠あり: まずは数ページを無料で試せます。
  • ボット対策も代行: ブラウザ上、またはクラウドで動作するため、Amazonからは実際のユーザーのように見えます。

ステップ別:ThunderbitでAmazonの商品データをスクレイピングする方法

簡単です。

  1. Thunderbitをインストールする:

    をダウンロードして、ログインします。

  2. Amazonを開く:

    スクレイピングしたいAmazonページを開きます(検索結果でも商品詳細でもOKです)。

  3. 「AIによる項目提案」をクリックするか、テンプレートを使う:

    Thunderbitが抽出する列を提案します(またはAmazon商品テンプレートを選べます)。

  4. 列を確認する:

    必要に応じて列を調整します(項目の追加・削除、名前変更など)。

  5. 「スクレイプ」をクリックする:

    Thunderbitがページからデータを取得し、表形式で表示します。

  6. サブページとページ送りを処理する:

    一覧を取得した場合は、「サブページをスクレイプ」をクリックして、各商品詳細ページを巡回し、より多くの情報を取得します。Thunderbitは「次へ」ページの自動クリックにも対応します。

  7. データを出力する:

    「Excelへ出力」または「Google Sheetsへ出力」をクリックします。これで完了です。

  8. (任意)定期スクレイピングを設定する:

    このデータを毎日ほしいですか? Thunderbitのスケジューラーで自動化できます。

これで終わりです。コード不要、デバッグ不要、プロキシ不要、ストレスなし。画面付きで見たい方は、か、をご覧ください。

AmazonスクレイパーPython vs. コード不要のウェブスクレイパー:比較

全体を整理してみましょう。

比較項目PythonスクレイパーThunderbit(コード不要)
セットアップ時間長い(インストール、コーディング、デバッグ)短い(拡張機能を入れるだけ)
必要スキルコーディング必須不要(ポイント&クリック)
柔軟性無制限一般的な用途では高い
保守自分で修正ツール側で自動更新
ボット対策対応プロキシやヘッダーを自分で管理内蔵機能で自動対応
拡張性手動(スレッド、プロキシ)クラウドスクレイピング、並列処理
データ出力自由設計(CSV、Excel、DB)ワンクリックでExcel、Sheetsへ
コスト無料(自分の時間+プロキシ代)フリーミアム、規模に応じて課金
向いている人開発者、細かな要件がある人ビジネスユーザー、すぐ結果がほしい人

細かく作り込みたい開発者で、かなり特殊な要件があるならPythonが向いています。スピード、シンプルさ、そしてコード不要を重視するなら、Thunderbitが最適です。

AmazonデータでPython、コード不要、AIウェブスクレイパーを選ぶ基準

Pythonを選ぶべき場合:

  • カスタムロジックが必要、またはスクレイピングをバックエンドシステムに組み込みたい
  • 非常に大規模に取得する(数万件規模)
  • スクレイピングの仕組みを内部から学びたい

Thunderbit(コード不要のAIウェブスクレイパー)を選ぶべき場合:

  • コーディングなしで、すぐデータがほしい
  • ビジネスユーザー、アナリスト、マーケターである
  • チームメンバー自身にデータ取得を任せたい
  • プロキシ、ボット対策、保守の手間を避けたい

両方使うべき場合:

  • まずThunderbitで素早く試作し、その後Pythonで本番向けのカスタム実装を作りたい
  • データ収集はThunderbit、データ整形や分析はPythonで行いたい

多くのビジネスユーザーにとって、ThunderbitはAmazonスクレイピングの必要性の90%を、かなり短時間で満たしてくれます。残りの10%、つまり超カスタム、大規模、または深い連携が必要な部分では、やはりPythonが王者です。

まとめと重要ポイント

Amazonの商品データをスクレイピングできることは、営業、eコマース、オペレーションのどのチームにとっても大きな強みです。価格追跡、競合分析、あるいは単にチームを終わりのないコピペ作業から解放したい場合でも、解決策はあります。

  • Pythonでのスクレイピングは完全な制御ができますが、学習コストと継続的な保守が必要です。
  • Thunderbitのようなコード不要のウェブスクレイパーなら、Amazonデータ抽出を誰でも使えるものにします。コーディング不要、悩みも不要、結果だけが手に入ります。
  • いちばん良い方法は? 自分のスキル、期限、ビジネス目標に合ったツールを使うことです。

気になったなら、Thunderbitをぜひ試してみてください。無料で始められて、必要なデータをどれだけ早く取得できるかにきっと驚くはずです。開発者なら、組み合わせることも恐れないでください。ときには、面倒な部分をAIに任せるのが、最速の作り方です。

FAQ

1. 企業がAmazonの商品データをスクレイピングしたいのはなぜですか?

Amazonをスクレイピングすると、価格監視、競合分析、製品リサーチ用のレビュー収集、需要予測、営業リード獲得ができます。6億点超の商品と約200万のセラーがいるAmazonは、競合インテリジェンスの豊富な情報源です。

2. Amazonのスクレイピングで、PythonとThunderbitのようなコード不要ツールにはどんな違いがありますか?

Pythonスクレイパーは最大限の柔軟性がありますが、コーディングスキル、セットアップ時間、継続的な保守が必要です。Thunderbitはコード不要のAIウェブスクレイパーで、Chrome拡張機能からAmazonデータをすぐに抽出できます。コーディングは不要で、ボット対策も内蔵、ExcelやSheetsへの出力にも対応しています。

3. Amazonのデータをスクレイピングするのは合法ですか?

Amazonの利用規約では、一般にスクレイピングは禁止されていますし、Amazonは積極的にボット対策を行っています。ただし、多くの企業は公開データを責任ある形で取得しており、たとえばレート制限を守り、過剰なリクエストを避けています。

4. ウェブスクレイピングツールを使うと、Amazonからどんなデータを抽出できますか?

よくある項目としては、商品タイトル、価格、評価、レビュー数、画像、商品仕様、在庫状況、さらには販売者情報まであります。Thunderbitはサブページのスクレイピングとページ送りにも対応しており、複数の一覧やページにまたがるデータも取得できます。

5. いつPythonスクレイピングを選び、いつThunderbitのようなツールを選ぶべきですか?

完全な制御やカスタムロジックが必要な場合、またはスクレイピングをバックエンドシステムに組み込みたい場合はPythonを使ってください。コーディングなしで素早く結果がほしい、簡単にスケールしたい、または保守の手間が少ない解決策を探しているビジネスユーザーならThunderbitが向いています。

もっと深く知りたい方はこちらもどうぞ。

快適なスクレイピングを。そして、あなたのスプレッドシートが常に最新でありますように。

Amazon向けThunderbit AIウェブスクレイパーを試す
Shuai Guan
Shuai Guan
Thunderbitの共同創業者兼CEO。AIと自動化が交わる領域に強い関心を持っています。自動化の大きな支持者であり、誰もがもっと簡単に使えるようにすることに情熱を注いでいます。テクノロジー以外では、写真への情熱を通じて創造性を発揮し、一枚一枚の写真で物語を切り取っています。
Topics
ウェブスクレイピングツールAIウェブスクレイパー
目次

Thunderbitを試す

リードや各種データをわずか2クリックで取得。AI搭載。

Thunderbitを入手 無料です
AIでデータを抽出
Google Sheets、Airtable、Notionへ簡単にデータ転送
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week