Googleマップは単なる位置を特定するための地図サイトではなく、豊富なビジネスインサイトを得ることができるデータベースでもあります。多くの人がGoogleマップのデータをスクレイピングしてビジネスディレクトリを集約したり、ビジネスリードベースを構築したりしています。
このチュートリアルでは、Googleマップからビジネス情報を取得する方法を説明いたします。
Googleマップのスクレイピングには、テンプレートギャラリーで提供しているすぐに使えるタスクテンプレートを利用するか、このチュートリアルに従って一からタスクを作成することができます。
テンプレートを使用する場合、キーワード(例:Accounting, NY)またはウェブページのURL(例:https://www.google.com/maps/search/insurance+West+University+Place,+TX/@29.716598,-95.4987615,10z/data=!3m1!4b1)を入力し、データが出てくるのを待つだけです。
こちらがテンプレートデータのサンプルです。テンプレートを試してみたい方は、14日間のプレミアムトライアルにお申し込みください:14 日間の無料トライアルを開始
自分でクローラーを設定する方法を学びたい場合は、このチュートリアルを続けてください。
取得するデータフィールドは次のとおりです:タイトル、レビュー数、レビュー評価、住所、電話番号、ウェブサイト、営業時間。
主な手順は右側のメニューに表示されており、デモタスクファイルはこちらからダウンロードできます。
1. 対象のWebページを開く
例のURLを検索バーに入力し、スタートをクリックする
複数のURLをスクレイピングする場合は、バーにいくつかのURLを入力することができます。
2. ループアイテムで部分スクロールしてさらに結果を読み込む
3. ループアイテムを作成 - 各検索結果をクリックする
いいえを選択
4. データを選択してデータを抽出する
Webページでビジネスタイトル、カテゴリ、住所など、必要な情報を選択
要素データを選択
データを収集の設定に移動
ループ内のアイテムを収集するのチェックを外す
Googleはスクレイピングに非常に厳しく、ソースコードが非常に読みにくい。そのため、各データフィールドのXPathを修正して正確なスクレイピングを行う必要がある。
必要なものはすべて用意済み。以下のXPathを使用してください。
一般的なフィールドのXPathは以下:
タイトル: //button[@data-item-id="address"]/../../..//h1
レビュー数: //span[contains(@aria-label,'件のクチコミ')]
評価: //span[contains(@aria-label,'星')]/preceding-sibling::span
カテゴリ: //button[contains(@jsaction,"pane") and contains(@jsaction,"category")]
住所: //button[@data-item-id="address"]
ウェブサイト: //a[contains(@aria-label,'ウェブサイト:')]
電話番号: //button[contains(@data-item-id,"phone")]
営業時間: //div[contains(@aria-label,'曜日')]
(インターフェース言語は日本語であることをご確認ください。)
注:XPathについての詳細は「XPathとは?OctoparseでXPathを利用する方法は?」を参照してください。
5. ページレベルのURLから抽出 - GPS座標を抽出する(オプション)
多くのリクエストに応え、このステップではGoogleマップからGPS座標データを抽出する方法を説明いたします。
座標はページURLに隠れているため、まずループ内でページURLを抽出。
次に、正規表現ジェネレーターを使ってページURLから座標を抽出。
自分で正規表現を書きたくない場合は、正規表現ジェネレーターを利用することができます。
以下のパラメータを入力し、すべてにマッチにチェック
マッチした文字列ボックスが希望の形式でデータを表示していることを確認
保存をクリックします
6. タスクを実行してデータを抽出する
保存をクリック
右上の実行ボタンをクリック
ローカル収集を選択し、あなたのパソコンで実行
以下がサンプル出力(スポンサーの要素は抽出されておりません)。
注:Googleマップはメールアドレスを表示しない。ビジネスのメールアドレスを取得するには、Email & Social Media Scraperテンプレートを利用していただけます。
GoogleマップからスクレイプしたビジネスのWebサイトURLをこのテンプレートに入力するだけで、メールアドレスを取得可能です。