Edited at

2019年Googleマップをスクレイピングする方法5選

元記事:https://www.octoparse.jp/blog/google-maps-crawlers

インターネット時代において、地図のデジタルデータはますます重要になり、ビジネス価値を生み出し、意思決定を支援するのに役に立ちます。このようなデータは業界で広く使用されています。たとえば、飲食業者は、地図データと近くの競合他社を分析して、新しいお店を開く場所を決定することができます。

Googleマップでは、220 の国と地域を広くカバーする地図と数億のお店や場所に関する詳しい情報を見えるし、リアルタイムの GPS ナビ、渋滞状況、乗換案内のほか、地元のグルメやイベントに関する情報を、世界中どこでも利用できます。

Googleマップからデータをスクレイピングするには、さまざまな種類の方法があります。この記事では、その中から5つの方法をご紹介します。


1. Places API of Google Maps Platform

Google Maps Platformには、地図やストリートビューなどの「マップ(Maps)」、ルートや所要時間などを検索する「ルート(Routes)」、周辺のスポット検索やジオコーディング・ 位置情報を利用する「プレイス(Places)」の3つの機能があります。

Places APIはをGoogleマップから場所データを収集する最良の方法の1つであり、開発者はAPI経由のHTTPリクエストを使用して、指定した地点の施設、地理的位置、有名なスポットなどの情報を取得することができます。

Places APIを使用する前に、アカウントを設定し、独自のAPIキーを作成する必要があります。Places APIは無料ではなく、従量課金制のモデルを使用しています。それでも、提供されるデータフィールドはPlaces APIによって制限されているため、必要なすべてのデータを取得できない場合があります。


2. Pythonフレームワークまたはライブラリ

ScrapyBeautiful Soupなどの強力なPythonフレームワークまたはライブラリを使用して、クローラーをカスタマイズし、必要なデータをスクレイピングすることもできます。具体的には、ScrapyはWebページからデータをダウンロード、処理、保存するために使用されるフレームワークであり、多くの組み込みコードがあるから、すごく時間節約できます。BeautifulSoupはプログラマーがWebページからデータをすばやく抽出できるようにするライブラリです。

そのため、クローラーを構築してデータをスクレイピングするには、自分でコードを書く必要があります。したがって、Webスクレイピングを習得したプログラマーのみがこの任に堪えます。


3. GitHubのオープンソースプロジェクト

もしプログラミング知識がそんなに高度なら、GitHubにはGoogleマップをスクレイピングするプロジェクトもあり、例えば、Node.jsで書かれたこのプロジェクトです。既に他の人によって作成された優れたオープンソースプロジェクトがたくさんありますので、車輪(タイヤ)を再発明しないように、それを活用しましょう。

ほとんどのコードを自分で記述する必要がない場合でも、スクリプトを実行するために基本的な知識とコードを記述する必要があり、コーディングについてほとんど知識のない人にとっては難しいです。データセットの量と品質は、GitHubのオープンソースプロジェクトに大きく依存していますが、GitHubにはメンテナンスがありません。また、エクスポートは.txtファイルのみであるため、大規模なデータが必要な場合は、データを取得するための最適な方法ではありません。


4. Web Scraper

Web Scraperは、最も人気のあるWebスクレイピング拡張機能です。Google Chromeブラウザーをダウンロードして、拡張機能Web Scraperをインストールすると、すぐ使えます。データをスクレイピングするためにコードを書いたりソフトウェアをダウンロードしたりする必要はありません。ほとんどの場合、Chrome拡張機能で十分です。

ただし、Webページの複雑な構造を処理したり、大量のデータをスクレイピングする場合、この拡張機能はそれほど強力ではありません。


5. Octoparse

Octoparseは、プログラマー以外のユーザー向けの強力なWebスクレイピングツールで、データのスクレイピングするクローラーを構築できます。数回クリックするだけで、Webサイトから貴重なデータを取得することができます。Octoparseを使うと、クローラーをカスタマイズして、Webサイトの99%複雑な構造を処理し、データを取得できます。

さらに、Octoparseにはたくさんのタスクテンプレート(Amazon、Googleマップなど)があり、誰でも簡単にWebスクレイピングにアクセスできます。キーワードまたはURLを入力するだけで、テンプレートは自動的にデータを収集し始めます。

Octoparseで作成されたクローラーは、ローカルマシンまたはクラウドで実行できます。 Octoparseは強力で使いやすいですが、独自のクローラーを構築する方法を学ぶ必要があり、少し時間がかかるかもしれません。

いかがでしたか?以上の方法を試して、独自のクローラーを作成し、必要なデータを取得してみてください!