Spis treści

Google Maps Scraping In Pure Python​

Scraping Google Maps requires good knowledge of coding, browser emulation, proxies, and a narzędzie do rozwiązywania reCAPTCHA. Ponadto należy być przygotowanym na zmiany, jakie Google może wprowadzić w swoich treściach dynamicznych.

First of all, you will need to mimic the real user’s behavior by using browser emulation. Using Selen or other browser emulators might be a good solution.

Secondly, if you want to keep your office/home IP safe, you will need to use serwery proxy. So you can request websites from other people’s IPs.

Even with that set of tools, once you have some good usage, Google might show you reCAPTCHA and bind it to some of your IPs. If you do not want to change IPs every time you see a reCAPTCHA, you can add a narzędzie do rozwiązywania reCAPTCHA.

Additionally, be prepared for situations when Google might change its content. You can do it by running daily tests.

Although it might take some time to implement the scraper, it can be built and maintained.

If you are still deciding whether that maintenance work is worth keeping in-house, read our guide on whether to build your own Google Maps scraper or use a managed service.

Check out this step-by-step tutorial on how to scrape Google Maps using Python and Selenium to learn more: Jak pobierać dane z Google Maps za pomocą języka Python i biblioteki Selenium.

Google Maps Scraping With Outscraper Python Package

A more simple and reliable way of scraping Google Maps will be using the Outscraper python library. It provides convenient access to the Outscraper API from applications written in the Python language, which allows you to use Usługi serwisu Outscraper z twojego kodu.

Możesz zacząć od zainstalowania pakiet oraz założenie konta na stronie wysięgnik.

Skrobanie map Google w Pythonie

Instalacja

Install the Outscraper SDK by running the following command (Python 3+ is required):

				
					pip install outscraper
				
			

Inicjalizacja

Zainicjuj klienta Outscraper poprzez zaimportowanie klasy i dodanie swojego tajnego klucza API. Klucz API można wygenerować na stronie strona profilu.

				
					from outscraper import ApiClient

client = ApiClient(api_key='SECRET_API_KEY')
				
			

Przykłady użycia

Oto przykłady tego, jak można pobierać dane o miejscach z Google Maps za pomocą zapytań wyszukiwania:

				
					# 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'])
				
			

Można również pobrać dane, korzystając z identyfikatora miejsca (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'])
				
			

Wypróbuj teraz Outscraper SDK

The Outscraper SDK is available for you to easily do Google Maps Scraping with Python. You can try it right now with a Free Tier.

FAQ

Najczęściej zadawane pytania i odpowiedzi

Możesz pobierać wyniki z Google Maps za pomocą biblioteki Outscraper SDK. Określ zapytania, język i inne parametry, a następnie wyślij żądanie.

pip install outscraper
z drapaczy chmur import ApiClient
client = ApiClient(api_key='SECRET_API_KEY')
# Search for businesses in specific locations:
wyniki = client.google_maps_search('restaurants brooklyn usa', limit=20, language='en')

# Get data of the specific place by id
wyniki = client.google_maps_search('ChIJrc9T9fpYwokRdvjYRHT8nI4', language='en')

# Search with many queries (batching)
wyniki = client.google_maps_search([
    'restaurants brooklyn usa',
    'bars brooklyn usa',
], language='en')

Pobieranie danych z Google Maps wymaga dobrej znajomości programowania, emulacji przeglądarek, serwerów proxy oraz narzędzie do rozwiązywania reCAPTCHA. Ponadto należy być przygotowanym na zmiany, jakie Google może wprowadzić w swoich treściach dynamicznych.

Google Maps zabrania pobierania danych metodą scrapingową. Jednak pobieranie i wyodrębnianie danych publicznych jest chronione przez Pierwszą Poprawkę do Konstytucji Stanów Zjednoczonych.