Amazonから商品のレビューをスクレイピングする
フォローするこのチュートリアルでは、Amazonから商品レビューをスクレイピングする方法を示します。
Amazonの商品情報のスクレイピングについては、以前紹介しましたから、以下の記事をご覧ください。
このチュートリアルで次のURLを使います。
今回商品の詳細ページからカスタマーの名前、星評価、レビューのタイトル、時間、レビューの内容などを収集します。
以下はチュートリアルの主な手順です。
- 1) 「Webページを開く」 - 内蔵ブラウザで対象のWebページを開く
- 2)レビューページに移動する
- 3) ページ遷移のループを作る - 複数のページからデータを取得する
- 4) 「ループアイテム」を作る - 各ページ上のデータを取得する
- 5) データを抽出する - 抽出したいデータを選択する
- 6) 抽出タスクを始める - タスクの実行を行いデータを取得する
1) 「Webページを開く」 - 内蔵ブラウザで対象のWebページを開く
URLを入力して「抽出開始」をクリックし、ページを開きます。
2) レビューページに移動する
ページの下にスクロールし、「日本からのレビューをすべて見る」ボタンをクリックし、「操作ヒント」から「選択したリンクをクリックする」を選択します。
そうすると、レビューページに移動します。
3) ページ遷移のループを作る - 複数のページからデータを取得する
ページを下にスクロールし、「次へ」ボタンをクリックし、「操作ヒント」から「単一リンクをループクリックする」を選択します。
4) 「ループアイテム」を作る - 各ページ上のデータを取得する
- 一番目のカスタマーの名前をクリックすると、Octoparseはページ内の同じのを自動的に識別します。
- 「操作ヒント」にある「すべて選択」をクリックします。
- 「各要素のテキストを抽出する」をクリックします。
そうすると、「ループアイテム」が生成されました。
作ったループアイテムを確認したところ、リストには10個ではなく合計36個のアイテムがあることがわかりました。必要ではないデータも含まれたので、XPathの精度が十分でないためです。そのため、「ループアイテム」のXPathを変更する必要があります。正しいXPathは以下のようになります。
//div[@id="cm_cr-review_list"]//div[@data-hook="review"]
5) データを抽出する - 抽出したいデータを選択する
- 必要なデータをクリックし、「操作ヒント」にある「選択した要素のテキストを抽出する」を選択します。
- 必要に応じて、ファイル名を編集します。
6) 抽出タスクを始める - タスクの実行を行いデータを取得する
「保存」と「実行」をクリックし、データを抽出します。以下はデータのサンプルです。