Indice
Scraping di Google Maps in puro Python
Lo scraping di Google Maps richiede una buona conoscenza della codifica, dell'emulazione del browser, dei proxy e della risolutore di reCAPTCHA. Inoltre, dovreste essere pronti ad affrontare le modifiche che Google potrebbe apportare ai contenuti dinamici.
Innanzitutto, è necessario imitare il comportamento dell'utente reale utilizzando l'emulazione del browser. Utilizzando Selenio o altri emulatori di browser potrebbe essere una buona soluzione.
In secondo luogo, se si vuole tenere al sicuro l'IP del proprio ufficio/casa, è necessario utilizzare deleghe. In questo modo è possibile richiedere siti web da IP altrui.
Anche con questo set di strumenti, una volta ottenuto un buon utilizzo, Google potrebbe mostrare il reCAPTCHA e legarlo ad alcuni dei vostri IP. Se non si vuole cambiare IP ogni volta che viene visualizzato un reCAPTCHA, si può aggiungere un'opzione risolutore di reCAPTCHA.
Inoltre, preparatevi a situazioni in cui Google potrebbe cambiare i suoi contenuti. Potete farlo eseguendo test quotidiani.
Anche se potrebbe essere necessario un po' di tempo per implementare lo scraper, è possibile costruirlo e mantenerlo. Per saperne di più, consultate questo tutorial passo-passo su come effettuare lo scrape di Google Maps utilizzando Python e Selenium: Come eseguire lo scraping di Google Maps con Python e Selenium.
Scraping di Google Maps con il pacchetto Python Outscraper
Un modo più semplice e affidabile di eseguire lo scraping di Google Maps è quello di utilizzare il metodo Libreria python Outscraper. Fornisce un comodo accesso alla API di Outscraper da applicazioni scritte in linguaggio Python, che permette di utilizzare Servizi di Outscraper dal codice.
Si può iniziare installando il pacchetto e creare un account su Outscraper.

Installazione
Installare l'SDK Outscraper eseguendo il seguente comando (è richiesto Python 3+):
pip install outscraper
Inizializzazione
Inizializzare il client Outscraper importando la classe e aggiungendo la chiave API segreta. È possibile generare la chiave API su la pagina del profilo.
from outscraper import ApiClient
client = ApiClient(api_key='SECRET_API_KEY')
Esempi di utilizzo
Ecco alcuni esempi di come è possibile effettuare lo scraping di luoghi da Google Maps utilizzando le query di ricerca:
# 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'])
È anche possibile estrarre i dati utilizzando l'Id del luogo:
# 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'])
Provate subito l'SDK Outscraper
L'SDK Outscraper è disponibile per eseguire facilmente lo scraping di Google Maps con Python. Potete provarlo subito con un livello gratuito.
È possibile effettuare lo scraping dei risultati di Google Map utilizzando l'SDK Outscraper. Specificare le query di ricerca, la lingua e altri parametri e inviare la richiesta.
pip installare outscraper
da outscraper Importazione ApiClient cliente = ApiClient(chiave_api='SECRET_API_KEY')
# Ricerca di aziende in luoghi specifici: risultati = cliente.google_maps_search('ristoranti brooklyn usa', limite=20, lingua='en') # Ottenere i dati di un luogo specifico per id risultati = cliente.google_maps_search('ChIJrc9T9fpYwokRdvjYRHT8nI4', lingua='en') # Ricerca con molte query (batching) risultati = cliente.google_maps_search([ 'ristoranti brooklyn usa', 'bar brooklyn usa', ], lingua='en')
Lo scraping di Google Maps richiede una buona conoscenza della codifica, dell'emulazione del browser, dei proxy e della risolutore di reCAPTCHA. Inoltre, dovreste essere pronti ad affrontare le modifiche che Google potrebbe apportare ai contenuti dinamici.
Google Maps non consente lo scraping. Tuttavia, lo scraping e l'estrazione di dati pubblici sono protetti dal Primo Emendamento della Costituzione degli Stati Uniti.
0 Comments