Indice

Scraping di Google Maps in PHP puro

Per lo scraping di Google Maps è richiesta una buona conoscenza della programmazione, dell'emulazione dei browser, dei proxy e degli strumenti per superare i reCAPTCHA. Inoltre, sarebbe utile essere pronti ad affrontare eventuali modifiche che Google potrebbe apportare ai propri contenuti dinamici.

Inizialmente, dovrai emulare il comportamento di un utente reale tramite l'emulazione del browser. Pertanto, utilizzando Selenio oppure altri emulatori di browser potrebbero rappresentare una soluzione efficace.

È necessario utilizzare deleghe Se desideri proteggere l'indirizzo IP del tuo ufficio o di casa, puoi quindi effettuare richieste ai siti web utilizzando gli indirizzi IP di altri utenti.

Nonostante questa gamma di strumenti, Google potrebbe comunque presentarti reCAPTCHA e associarlo ad alcuni dei tuoi indirizzi IP se il tuo utilizzo è sufficientemente elevato. Puoi aggiungere un  risolutore di reCAPTCHA se non vuoi modificare gli indirizzi IP ogni volta che ti imbatti in un reCAPTCHA.

Oltre a ciò, è bene essere preparati all'eventualità che Google possa modificare i propri contenuti. Ciò è possibile effettuando test quotidiani.

Sebbene l'implementazione dello scraper possa richiedere un po' di tempo, è possibile realizzarlo e mantenerlo. Per imparare a estrarre dati da Google Maps utilizzando Python e Selenium, consulta questo tutorial passo dopo passo: Come eseguire lo scraping di Google Maps con Python e Selenium.

Scraping di Google Maps con il pacchetto PHP Outscraper

Un metodo più affidabile per estrarre dati da Google Maps consiste nell'utilizzare il Libreria PHP Outscraper. Fornisce un comodo accesso alla API di Outscraper da applicazioni scritte in linguaggio PHP, che consente di utilizzare Servizi di Outscraper dal codice.

Si può iniziare installando il pacchetto e creare un account su Outscraper.

Installazione

Compositore

Installa l'SDK Outscraper tramite Compositore. Esegui il seguente comando:

				
					composer require outscraper/outscraper
				
			

Per utilizzare i binding, usa Composer’s caricamento automatico:

				
					require_once('vendor/autoload.php');
				
			

Installazione manuale

Se non desideri utilizzare Composer, puoi scaricare il ultima versione. Quindi, per utilizzare i binding, includere il init.php file:

				
					require_once('/path/to/outscraper-php/init.php');
				
			

Inizializzazione

Inizializzare il client Outscraper importando la classe e aggiungendo la chiave API segreta. È possibile generare la chiave API su la pagina del profilo.

				
					$client = new OutscraperClient("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
foreach ($results as &$query_places) {
    foreach ($query_places as &$place) {
        print($place['query']);
        print($place['name']);
        print($place['phone']);
        print($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
foreach ($results as &$query_places) {
    foreach ($query_places as &$place) {
        print($place['query']);
        print($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.

Domande frequenti

Domande e risposte più frequenti

È 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.

composer require outscraper/outscraper
require_once('vendor/autoload.php');
$client = new OutscraperClient("SECRET_API_KEY");
# Ricerca di aziende in luoghi specifici:
$results = $client->google_maps_search_v2(['ristoranti Brooklyn USA'], limit: 20, language: 'en', region: 'us');
#: Luoghi di rottamazione in base a due query
$results = $client->google_maps_search_v2(
['ristoranti Brooklyn USA', 'bar Brooklyn USA'],
limite: 50, limite di # per il numero di risultati per ogni query
lingua: 'en',
regione: 'Stati Uniti',
);
# Eseguire un ciclo sui risultati
foreach ($results as &$query_places) {
foreach ($query_places as &$place) {
print($place['query']);
print($place['name']);
print($place['phone']);
print($place['site']);
}
};

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.


Yunus

Marketer, scrittore di contenuti, sviluppatore dell'esperienza del cliente - Facebook | Linkedin | Twitter

0 Comments

Lascia un commento

Avatar placeholder