サイトアイコン EASY2DIGITAL

Amazon商品スクレイパー作成

Amazonの検索結果にある商品情報には、2つの重要な情報が含まれています。それらは、商品の販売実績と顧客レビュー、およびその商品を販売するショップに対する評価です。そして、これらの情報をさらに活用することで、価格トラッカーやP&L市場価値など、より広範なアプリケーションに展開することができます。

この章では、Amazonの商品スクレイパーを作成し、取得したデータをGoogle Sheetsに保存する方法を共有します。この章の終わりまでに、gspreadモジュールをインストールする方法と、HTML内のデータ要素を見つける場所を学ぶことができます。

目次:Amazon商品スクレイパーの作成(Selenium、BeautifulSoup、Easy2Digital APIを使用)

Amazon商品スクレイパー – Selenium、BeautifulSoup、およびgspreadモジュールのインポート

PythonスクリプトでBeautifulSoupを使用してWebサイトを訪問することはできません。エラーが発生します。代わりに、seleniumを使用してスムーズに商品データを取得できます。これらの2つのモジュールをインポートするプロセスは、以前に他のボットのスクリプトで行ったプロセスと同じです。

また、このスクリプトは、シートに商品情報を取得して保存するだけではありません。それはまた、スケジュールでデータを自動的に更新し、競合他社のマーケティング情報と製品価格を追跡することを目的としています。価格トラッカーについては、別の記事をリリースします。そのため、GoogleシートAPIを使用してデータを管理することをお勧めします。ここでは、gspreadを使用することをお勧めします。それは、ものを簡単にするからです。

GoogleシートAPIを作成し、サービスアカウントを設定するには、他の記事を参照してください。以前に記事をリリースしました。詳細については、この記事をご覧ください。

Easy2Digital Google Sheets APIは、Google APIに接続して取得したデータを管理するのがより簡単です。まず、無料のEasy2Digital APIトークンを申請する必要があります。

次に、Google APIサービスアカウントからダウンロードしたJSONキーの名前をコピーして、Easy2Digital API googleJsonparameterに接続されたスクリプトに貼り付けます。

詳細については、APIドキュメントを参照してください

Amazon 商品スクレイパー – 商品検索スクレイパーのプロトタイプを作成する

検索クエリを使用して、任意の商品の情報を検索できます。基本的には、Amazon 商品スクレイパーのプロトタイプは、検索している商品に関係なく、どの Amazon マーケットでも使用できます。

1. Amazon 検索クエリ URL 構造

URL には、SERP を制御する 2 つのパラメータがあることに気付くかもしれません。1 つはキーワードに続く k で、もう 1 つはページに続くページ番号です。

https://www.amazon.com/s?k=ring+camera&page=2

そのため、使用後に 2 つの変数を作成できます。1 つは検索しているキーワードを表し、もう 1 つは動的にループしてより多くのページを取得するためのものです。

query = "ring+camera"
page = "&page="

2. SERP 内で商品情報ブロックを検索する

商品タイトルを右クリックして、インスペクト機能を使用できます。どの要素が商品情報ブロック全体を取得できるかを確認できます。ブロックには、ASIN、価格、タイトル、URL、レビュー数など、取得する必要のあるすべての主要な商品情報が含まれます。たとえば、これは以前に共有した Web スクレイピングと似ています。

ご覧のように、すべての情報は div というタグに含まれています。そして、データコンポーネントタイプと呼ばれるタグにも含まれています。したがって、このようにコードを起草できます。これは、1 ページ目をスクレイピングするためのものです。

driver.get("

ご覧の通り、すべての情報はdivにあり、データコンポーネントタイプというタグに含まれています。そのため、このようにコードを作成できます。これは、1ページ目のスクレイピングに使用されます。

driver.get("https://www.amazon.com/s?k=query”)
soup = BeautifulSoup(driver.page_source, 'html.parser')
results = soup.find_all('div',{'data-component-type': 's-search-result'})

3. データタイプを選択し、特定のスクレイピングを行う

P&L計算機と接続するためにASINは取得する必要があるキーエレメントです。この点については、別の記事で説明します。

ASIN値は、data-asinというタグにあります。したがって、変数を作成して、attrsを使用して各製品のASIN番号を取得できます。

asins = item.attrs['data-asin']

次に、製品タイトルはHTMLのh2にあります。Pythonコードは以下のようになります。ただし、前導空白(先頭の空白)と後導空白(末尾の空白)を削除するために、テキストの後にstrip()を使用することをお勧めします。

try:
    title = item.h2.a.text.strip()
except Exception as e:
    raise None

価格設定は、競合他社のプロモーションによって動的であり、変更される可能性があるため、価格トラッカーで別の重要な要素です。 Amazon製品スクレイパーでは、このコーディングを使用して価格を取得できます。ただし、後でフィルタリングおよび市場価値の計算を行うために、通貨シグナルを削除することをお勧めします。これにより、データがGoogleシートの数値形式であることが保証されます。

try:
   price_parent = item.find('span','a-price')
   price = price_parent.find('span','a-offscreen').text.replace('$','')
except Exception as e:
   price_parent = '0'
   price = '0'

Amazon製品スクレイパー-検索結果の複数ページをスクレイピングする

Amazon SERPの1ページ目には、平均22個の製品があります。製品の市場パフォーマンスと機会を理解するには十分ではない場合、複数のページをスクレイプする必要があります。幸い、それは複雑ではなく、前に共有したWebページネーションスクレイパーに似ています。

まず、特定のデータフェッチループよりも上位のループを作成する必要があります。変数Xを作成できます。

次に、範囲でページ数を設定できます。ただし、最後のページはy – 1である必要があります。 たとえば、ここでは最後のページが3であるため、最後のページは2であることを意味します。

for x in range (1,3):
    driver.get("https://www.amazon.com/s?k="+query+page+str(x))
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    results = soup.find_all('div',{'data-component-type': 's-search-result'})

         for item in results:

              asins = item.attrs['data-asin']

最後に、AmazonのURL構造を知っているので、URLリクエストを更新する必要があります。次のようになります。

driver.get("https://www.amazon.com/s?k="+query+page+str(x))

取得したデータをGoogleスプレッドシートに保存する

ここで、データをフィードしてGoogleシートに保存する準備が整いました。 “POST”メソッドを使用し、Easy2Digital APIパラメーターに取得したデータと特定のシートタブとセル位置を2つの変数として追加する必要があります。

Amazon Product Scraperの完全なPythonスクリプト

Amazon Product Scraperの完全なバージョンを取得したい場合は、「Chapter 16」というメッセージを追加してニュースレターに登録してください。すぐにスクリプトがメールボックスに送信されます。

お問合せ

第16章-Amazon Product Scraper Using Selenium、BeautifulSoup、およびEasy2Digital APIをお楽しみいただければ幸いです。そうした場合は、以下にリストされているいずれかのことを行って、常に私たちのチャンネルを支援してください。

よくある質問:

Q1: Amazonで商品を購入する方法はありますか?

A: はい、Amazonで商品を購入する方法はいくつかあります。まず、商品のページにアクセスし、「カートに追加」ボタンをクリックしてください。その後、お支払い方法と配送先を選択し、注文を確定させることができます。

Q2: Amazonの配送料金はいくらですか?

A: Amazonでは、一部の商品を除いて、購入金額が合計2,000円以上の場合は送料無料となります。合計金額が2,000円未満の場合は、送料がかかる場合があります。詳細は商品のページに記載されていますので、ご確認ください。

Q3: Amazonで返品する方法を教えてください。

A: Amazonでの返品は簡単です。注文履歴ページにアクセスし、該当の注文を選択してください。その後、返品のオプションを選択し、返品手続きを進めてください。返品商品がAmazon倉庫に到着した後、返金処理が行われます。

Q4: Amazonギフトカードはどのように使えますか?

A: Amazonギフトカードは、Amazonでの商品購入に利用することができます。商品を購入する際に、お支払い方法の選択画面でギフトカード番号を入力してください。ギフトカードの残高があれば、その分だけが支払いに利用されます。

Q5: Amazon Primeのメリットは何ですか?

A: Amazon Primeには多くのメリットがあります。例えば、配送料無料やお急ぎ便の利用、プライムビデオやプライムミュージックなどのサービスが利用できます。また、特典として限定セールや先行予約などがあります。詳細はAmazonのPrime会員ページをご確認ください。

Q6: Amazonで商品のレビューを書く方法を教えてください。

A: 商品のレビューを書くには、まず商品ページにアクセスしてください。画面下部にある「カスタマーレビューを書く」ボタンをクリックし、評価とコメントを入力してください。レビューは他のお客様にとって役立つ情報となりますので、率直なご意見をお書きください。

Q7: Amazonでクーポンを利用する方法を教えてください。

A: クーポンを利用するには、まず対象の商品ページにアクセスしてください。商品の下部に「クーポンを適用」ボタンがある場合は、そこをクリックしてください。クーポンが適用されると、割引価格が自動的に反映されます。

Q8: Amazonでのお支払い方法は何がありますか?

A: Amazonでは、クレジットカードやデビットカード、Amazonギフトカード、銀行振込など、様々なお支払い方法を利用することができます。お支払い方法の選択画面で、ご希望の方法を選んでください。詳細はAmazonのヘルプページをご確認ください。

Q9: Amazonでの注文キャンセルは可能ですか?

A: はい、Amazonでの注文キャンセルは可能です。注文履歴ページにアクセスし、該当の注文を選択してください。その後、キャンセルのオプションを選択し、手続きを進めてください。ただし、商品の出荷準備が完了している場合はキャンセルができない場合があります。

Q10: Amazonでの注文状況を確認する方法を教えてください。

A: 注文状況を確認するには、注文履歴ページにアクセスしてください。そこでは、注文の詳細や現在の状況が表示されます。出荷準備中や配送中など、注文の進捗状況を確認することができます。

モバイルバージョンを終了