目次を見る
PythonでGoogle Mapsをスクレイピングする
Scraping Google Maps requires good knowledge of coding, browser emulation, proxies, and a reCAPTCHAソルバー。 さらに、Googleがダイナミックコンテンツに加えるかもしれない変更に対応する準備も必要です。
まず、ブラウザエミュレーションを利用して、実際のユーザーの行動を模倣する必要があります。使用方法 セレン などのブラウザエミュレータを利用するとよいかもしれません。
次に、オフィスや自宅のIPを安全に管理したい場合、次のようなものが必要になります。 プロキシ.だから、他人のIPからウェブサイトをリクエストすることができます。
そのようなツール群を使っても、ある程度良い使い方をすれば、GoogleはreCAPTCHAを表示し、それをあなたのIPのいくつかにバインドするかもしれません。reCAPTCHA が表示されるたびに IP を変更したくないのであれば、Google に reCAPTCHAソルバー。
さらに、Googleがコンテンツを変更する可能性がある状況に備える。毎日テストを行うことでそれが可能になります。
スクレイパーの実装には時間がかかるかもしれませんが、構築・維持することは可能です。PythonとSeleniumを使ってGoogle Mapsをスクレイピングする方法についてのステップバイステップのチュートリアルをチェックして、より多くを学びましょう。 PythonとSeleniumでGoogle Mapsをスクレイピングする方法。
Outscraper PythonパッケージによるGoogle Mapsスクレイピング
Google Mapsをスクレイピングする、よりシンプルで信頼性の高い方法として Outscraper Python ライブラリ.へのアクセスに便利です。 Outscraper API を使用することができるPython言語で書かれたアプリケーションから。 Outscraperのサービス をあなたのコードから削除してください。
インストール
以下のコマンドを実行して、Outscraper SDKをインストールします(Python 3+が必要です)。
pip install outscraper
初期設定
クラスをインポートし、秘密のAPIキーを追加して、Outscraperクライアントを初期化します。APIキーの生成は プロフィールページ.
from outscraper import ApiClient
client = ApiClient(api_key='SECRET_API_KEY')
使用例
ここでは、検索クエリを使ってGoogle Mapsから場所をスクレイピングする例を紹介します。
# Search for businesses in specific locations:
results = client.google_maps_search_v2(['restaurants brooklyn usa'], limit=20, language='en', region='us')
# Scrap Places by Two Queries
results = client.google_maps_search_v2(
['restaurants brooklyn usa', 'bars brooklyn usa'],
limit=50, # limit of palces per each query
language='en',
region='US',
)
# Iterate over the results
for query_places in results:
for place in query_places:
print('query:', place['query'])
print('name:', place['name'])
print('phone:', place['phone'])
print('website:', place['site'])
また、Place Idを使用してデータを抽出することも可能です。
# Get data of the specific place by id
results = client.google_maps_search_v2(['ChIJrc9T9fpYwokRdvjYRHT8nI4'], language='en')
# Scrap Places by Place Ids
results = client.google_maps_search_v2(
["ChIJ8ccnM7dbwokRy-pTMsdgvS4", "ChIJN5X_gWdZwokRck9rk2guJ1M", "ChIJxWLy8DlawokR1jvfXUPSTUE"],
limit=1, # limit of palces per each query
)
# Iterate over the results
for query_places in results:
for place in query_places:
print('name:', place['name'])
print('place_id:', place['place_id'])
Outscraper SDKを今すぐ試す
PythonでGoogle Maps Scrapingを簡単に行うためのOutscraper SDKが公開されています。今ならFree Tierでお試しいただけます。
Outscraper SDKを使用すると、Google Mapの結果をスクレイピングすることができます。検索クエリや言語などのパラメータを指定し、リクエストを送信してください。
pip install outscraper
から アウトスクレーパー 輸入 エイピークライアント クライアント = エイピークライアント(api_key。='secret_api_key')
# 特定の場所にある企業を検索します。 成果 = クライアント.google_maps_search('restaurants brooklyn usa', 限界=20, 言語='en') # 特定場所のデータをidで取得する 成果 = クライアント.google_maps_search('ChIJrc9T9fpYwokRdvjYRHT8nI4'です。, 言語='en') # 多数のクエリによる検索(バッチ処理) 成果 = クライアント.google_maps_search([ 'restaurants brooklyn usa', 'bars brooklyn usa', ], 言語='en')
Google Mapsのスクレイピングには、コーディング、ブラウザエミュレーション、プロキシ、などの知識が必要です。 reCAPTCHAソルバー。 さらに、Googleがダイナミックコンテンツに加えるかもしれない変更に対応する準備も必要です。
Googleマップはスクレイピングを認めない。しかし、公共データのスクレイピングと抽出は、アメリカ合衆国憲法修正第1条で保護されています。
0のコメント