メインコンテンツにスキップ

Googleマップからレビューをスクレイピング

スクロールステップを追加してグーグルマップをスクレイピング。

1年以上前に更新

このチュートリアルガイドでは、最新版 Octoparse の使い方を解説しています。もし古いバージョンの Octoparse をお使いの場合、より速く、より簡単で、より強力になったため、アップグレードを強くお勧めします! まだの方は、ここからダウンロードしてアップグレードしてください!

ナビゲーションアプリの代名詞とも言える Google マップ。もともとは、ある場所から別の場所への経路案内を簡単に行うためのサービスでしたが、時を経て、今やインターネット上で最も価値のあるビジネス情報の宝庫とも言える、インタラクティブなグローバルデータベースへと進化を遂げました。

しかし、あなたがビジネスオーナーで、Google マップから企業や場所の口コミを抽出したいと考えている場合、Google Places API を通じて口コミを取得する公式の方法では、5 件の口コミしか取得できないことにすぐに気付くでしょう。これは、最も単純なタスクであっても十分とは言えません。しかし、Octoparse を使用すれば、独自のクローラーを作成し、Google マップから企業や場所の口コミを無制限に、しかもわずか数分でスクレイピングすることができます。

このチュートリアルでは、Google マップの口コミを取得するための独自のタスクワークフローを設計する手順を説明します。

デモとして、IKEA Tokyo-BayのGoogleマップレビューをスクレイピングします。サンプルURLは以下の通りです。

主な手順は、右側のメニューに表示されています。 [デモタスクファイルをここからダウンロード]


1. Webページを開くを作成 - 対象のWebページにアクセス

すべてのワークフローは、Octoparse にアクセスする Web ページを指示することから始まります。

  • ホーム画面上部の検索バーにサンプル URL を入力し、「スタート」をクリックします。

複数のURLがある場合は、URLのリストをどのように処理するかについて、こちらの記事をご覧ください。


2. アイテムをクリックを作成 - クチコミページに移動

  • クチコミページに移動する「クチコミ」ボタンをクリックし、「選択した要素をクリックする」を選択して、ワークフローに「アイテムをクリック」アクションを生成します。

  • AJAX タイムアウトを 15 秒以上に設定します。

クチコミ一覧ページが表示されました。


3. 子階層スクロールを使って、スクロールダウンしてレビューを追加読み込みするループアイテムを作成します

新しいページには複数のスクロールバーがあり、目的のクチコミは左側のスクロール可能なカラム内に表示されます。左側のカラム内をスクロールしないとページにクチコミが追加読み込みされないため、ワークフローに子階層スクロール付きのループアイテムを設定して、スクロールと抽出を同時に行う必要があります。

  • ワークフローにループアイテムアクションを追加してください。

  • ループアイテムをクリックし、ループモードをスクロールに設定し、スクロールエリアをデフォルトから子階層に変更します。

  • スクロールエリアのXPathを入力して、Octoparseにスクロールする場所を指定します。

  • XPathを入力します://div[@class="aIFcqe"]//div[contains(@class,"DxyBCb")]

この記事をチェックして、XPathの達人になる旅を始めましょう。

  • 一番下までスクロールを選択します。

  • スクロールの回数を設定します(スクロールしたい回数)。

  • 待機時間を設定します(各スクロール間の間隔時間)。

  • 保存をクリックします。

これで部分スクロールループの設定が完了しました。


4. ループ内でデータを抽出 - 抽出するデータを選択します

このステップは、Octoparseの革新的な自動検出機能を使えば簡単かつ迅速に行えます。

  • 操作提案パネルでウェブページデータの自動検出をクリックします。

完了するのを待って、ワークフローを生成をクリックします。スクロールダウンを設定するにチェックを入れないでください。すでにステップ3でスクロールを作成しています。

注意:何らかの理由で自動検出がリストを検出できない場合は、ウェブページ上の複数の類似要素を選択して、Octoparseに選択パターンを教えることもできます。リスト抽出を手動で設定する方法については、こちらの記事をご覧ください。

  • ワークフローを作成した後、フィールド名をダブルクリックして、名前を変更します。

  • ワークフローを作成した後、不要なフィールドを削除するには、フィールドの「その他」(三点アイコン)をクリックして削除します。

この場合、レビューアーの名前、レビュー日、レビュー数、およびレビュー内容などのデータを抽出したいと考えています。

  • 作成したループアイテム(デフォルトでは「ループアイテム1」と名付けられます)が前のループアイテムの内側に配置されていることを確認してください。そうでない場合は、「ループアイテム1」を「ループアイテム」の内側にドラッグしてください。


5. データを整理するためにデータフィールドをクリーンアップする

レビュー数の列には「ローカルガイド ·」という不要なデータが先頭にあることがあります。不要なテキストを削除するためにデータを再フォーマットを使用します。

  • データフィールドの追加オプションを表示するには、三点アイコンをクリックします

  • データを再フォーマットをクリックします

  • + ステップを追加をクリックし、置換オプションを選択します

  • 検索文字列ボックスに「ローカルガイド · 」と入力し、置換文字列ボックスは空白のままにして置き換えます

  • マッチをクリックして、望んだ結果が得られるか確認します

  • 保存をクリックして変更を適用します


6. タスクを実行して必要なデータを取得します

  • 右上の保存をクリックしてタスクを保存します

  • その隣の実行をクリックし、タスク実行ウィンドウが表示されるのを待ってください

  • ローカル収集通常モードを選択して、タスクをローカルデバイスで実行してください

  • スクレイピングウィンドウを最大化してください

  • タスクの完了を待ちます

こちらはローカル実行のサンプル出力です。

こちらの回答で解決しましたか?