ASINコードでAmazonの商品情報をスクレイピングする
フォローする
今回は、 ASINコードを使ってAmazonから商品情報を取得する方法を解説します。ASINコードとは、 Amazonグループの独自コードで、書籍以外の商品を 10桁の固有番号で識別します。
同じ商品であれば、国が違っても同じ ASINコードで管理されています。そのため、ASINを把握すると、商品リサーチに掛かる時間が短縮される可能性があります。ASINコードは、各商品ページの「登録情報」から確認できます。
以下の画像はモバイルバッテリーの登録情報です。「 ASIN」の項目に記載されている、アルファベット・数字の羅列がASINコードです。
ASINコードを使って、Amazonの商品情報をスクレイピングする前に、あらかじめASINコードのリストを用意しておく必要があります。Excelやスプレッドシートなどに、スクレイピングしたいASINコードを一覧化しましょう。
Amazonのスクレイピングついて詳しく知りたい方は、こちらの記事 もあわせてご覧ください。
今回のチュートリアル手順は以下を参考いたします。
1) 「Webページを開く」- 内蔵ブラウザで対象のWebページを開く
● メニューから「新規作成」>「カスタマイズタスク」をクリックします。
● AmazonのURLをボックスに貼り付け、「保存する」をクリックします。
今、 ASINリストがループアイテムボックスに表示されています。それでは検索操作のループを作り始めましょう。
① Amazon検索ボックスをクリックし、 操作提案の「テキストを入力する」をクリックします。
② 検索したいASINをテキストボックスに入力します。
③ 入力が完了したら「はい」をクリックして保存します。
複数のキーワード( ASINコード)を入力する場合は、テキストリストのループを作る必要があります。
- 「ループアイテム」を追加する
- 「テキストリスト」モードを選択する
- キーワードリストを入力する
- ワークフローを調整する
テキストリストのループを作成する手順について詳しく知りたい方はこちらをご覧ください。
ASINを入力したあと、検索する必要があります。
● ページの検索ボタンをクリックし、操作提案の「選択したボタンをクリックする」をクリックします。
AmazonはAJAXで検索結果を読み込むので、「AJAX読み込み」を設定する必要があります。
● 「再試行」のチェックを外します。
● 「 AJAX読み込み」にチェックを入れ、タイムアウト時間を 10秒に 設定します。
● 「保存する」をクリックして保存します。
ヒント! AJAXの詳細については以下のチュートリアルをご参考ください。 |
2) 「データを抽出する」 - 抽出したいデータを選択する
① 抽出したい情報をクリックします。
② 操作提案の「選択した要素のテキストを抽出する」を選択します。
③ データフィールドに反映されたのを確認し、必要に応じてフィールド名を変更します。
3) XPathを変更する - データ抽出の精度を向上させる(オプション)
このケースは、異なる詳細ページにある「 Reviewer」要素は、必ずしも同じ場所に配置されているとは限りません。したがって、この問題によってデータが失われるのを防ぐために、OctoparseでXPathを変更する必要があります。
● 「 Reviewer」データフィールドを選択し、「データフィールドをカスタマイズする」をクリックします。
● 「 Xpathをカスタマイズする」を選択し、下記のXPathを「絶対Xpath」に貼り付けます。
//div[@id="centerCol"]//span[@id="acrCustomerReviewText"]
● 「 OK」をクリックし、保存します。
ヒント! OctoparseでXPathを変更すると、自動生成されたXPathよりも高い柔軟性と精度で非常にうまく動作します。
関連するチュートリアル: |
4) 「抽出開始」 - データ取得のタスクを実行する
● 画面右上の「保存」>「実行」の順にクリックし、タスク実行に移ります。
● タスク実行画面で抽出方法を選択します。ローカル抽出(無料)または、クラウド抽出(有料)のいずれかを選択しましょう。
タスクが実行されれば、あとは自動的にデータ抽出がはじまります。完了まで数分程度待ちましょう。
すべてのデータ抽出が終了すると、抽出されたデータが表示されます。以下は実際に抽出されたデータのサンプルです。抽出されたデータは、 ExcelやCSV、スプレッドシートへエクスポートが可能です。
From: https://www.octoparse.jp/tutorial/scrape-amazon-product-data-with-asin/