Googleマップからレストランの情報を取得する
フォローする旅を出る時Googleマップを使ったことがありますか?220 の国と地域を広くカバーする地図と数億のお店や場所に関する詳しい情報を見えるし、リアルタイムの GPS ナビ、渋滞状況、乗換案内のほか、地元のグルメやイベントに関する情報を、世界中どこでも利用できます。
このチュートリアルでは、Googleマップでレストラン情報をスクレイピングする方法を説明します。
チュートリアルで次のURLを使用します。
https://www.google.com/maps/search/restaurants/@33.7726566,-117.8522727,13z/data=!3m1!4b1
以下はチュートリアルの主な手順です。 [デモファイルをダウンロードする]
1) 「Webページを開く」- 内蔵ブラウザで対象のWebページを開く
2) 「ページネーション」 - 複数のページからデータを取得する
3) 「ループアイテム」 - 一覧ページからデータを取得する
1) 「Webページを開く」- 内蔵ブラウザで対象のWebページを開く
このチュートリアルでは、最初の手順は少し異なります。 デフォルトのブラウザではGoogleマップを開くことができないため、Googleマップを正しく開くために「設定」に「ブラウザ」を設定する必要があります。
- カスタマイズモードの「+タスク」をクリックし、新規タスクを作ります。
- URLを「Webサイト」ボックスに貼り付け、「URLを保存する」をクリックして移動します。
デフォルトの内蔵ブラウザはGoogleマップと互換性がないから、互換性のあるブラウザに切り替える必要があります。設定を変更する前に、タスクを保存する必要があることに注意してください。
- タスクを保存するには「保存する」をクリックします。
- 「設定」をクリックし、ブラウザを「Firefox 45.0」に変更して「保存」をクリックします。
そうすると、ページが内蔵ブラウザで開られます。
2) 「ページネーション」 - 複数のページからデータを取得する
- ページ読み込み後、次へボタン「>」をクリックします。
- 「操作ヒント」から「単一ボタンをループクリップする」をクリックします。
GoogleマップはページネーションボタンにAJAX技術を適用していますから、「次のページをクリックする」ステップで「AJAX読み込み」を設定する必要があります。
- 「再試行」のチェックを外れます。
- 「AJAXでページを読み込む」にチェックを入れ、AJAXタイムアウトを15秒に設定します。
- 「保存する」をクリックして保存します。
ヒント! AJAXの詳細については、以下の記事をご参考ください。 · AJAXの扱い |
- チェックした結果、 ページネーションのXpathは間違いました。「単一要素」に正しいXpathを入力します。
//button[contains(@jsaction,"next")][not(@disabled)]
そうすると、2番目のページに入っています。
3) 「ループアイテム」 - 一覧ページからデータを取得する
- 今は2番目のページですから、念の為に、「Webページを開く」、「ページネーション」をクリックして1番目に戻ります。
- 一番目と二番目のレストラン情報を選択し、Octoparseは自動的に現在のページのすべてのレストラン情報を選択します。
- 「操作ヒント」から「選択した要素のテキストを抽出する」をクリックします。
- 必要なデータをクリックし、「操作ヒント」にある「選択した要素のテキストを抽出する」を選択します。

- 必要に応じて、フィールド名を編集します。
ヒント! 必要なセクション全体が強調表示されるまで、セクションの上にマウスを移動します。または「操作ヒント」にある拡大ボタン |
4) 「抽出開始」 - データ取得のタスクを実行する
- 左上の「保存する」、をクリックします。「抽出開始」をクリックします。
- 「ローカル抽出」または「クラウド抽出」(有料版のみ)を選択します。
ここにサンプルデータがあります。「Description」列と「Hours」列に空白のフィールドがいくつか表示されます。これは、一部の詳細ページにホテルのイメージや客室設備の情報が含まれていないためです。
ヒント! デフォルトでOctoparseがページ上で定義されたパターンの要素を見つけられない場合、フィールドは空白のままになります。しかしOctoparseは必要な要素がWebサイトに表示されていても、定義されたパターンの要素を見つけられないこともあります。この問題が発生した場合は、以下のチュートリアルをご参考ください。 |
From: https://www.octoparse.jp/tutorial/scrape-data-on-google-maps/