Indice
Scraping di Google Maps in Node.js puro
Un buon livello di conoscenza della programmazione informatica, dell'emulazione del browser, dei proxy e del risolutore reCAPTCHA è importante per estrarre Google Maps. Allo stesso modo, è necessario essere preparati ad affrontare qualsiasi modifica che Google potrebbe apportare ai suoi contenuti adattivi.
Per utilizzare efficacemente l'emulazione del browser, è necessario prima simulare le azioni dell'utente reale. Utilizzando Selenio o altri emulatori di browser può essere un'opzione valida.
Quindi, è necessario utilizzare deleghe in secondo luogo se volete proteggere l'indirizzo IP del vostro posto di lavoro o della vostra residenza privata. In questo modo, potrete richiedere siti web dagli indirizzi IP di altri utenti.
Non si vuole che gli IP vengano scambiati ogni volta che si verifica un reCAPTCHA, quindi si può aggiungere un parametro risolutore di reCAPTCHA al vostro sistema, poiché Google potrebbe comunque visualizzare un reCAPTCHA e collegarlo ad alcuni dei vostri IP nonostante la raccolta di strumenti. Questo potrebbe accadere anche se avete una buona quantità di traffico.
Inoltre, a volte Google può cambiare le informazioni fornite. Un semplice test giornaliero è sufficiente per risolvere il problema.
Mettere in atto uno scraper può essere un processo lungo, ma alla fine si può fare e sviluppare. Per ulteriori informazioni sullo scraping di Google Maps utilizzando Python e Selenium, consultate questa guida dettagliata: How to Scrape Google Maps with Python and Selenium.
Scraping di Google Maps con il pacchetto Outscraper Node.js
Utilizzando il Outscraper Libreria Node.js migliorerà la qualità dello scraping di Google Maps. Fornisce un comodo accesso alle API di Outscraper da applicazioni scritte nel linguaggio Node.js 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:
npm install outscraper --save
# Or
yarn add 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.
const Outscraper = require('outscraper');
// Or using ES modules:
import Outscraper from 'outscraper';
let client = new Outscraper('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:
// Ricerca di aziende in luoghi specifici:
client.googleMapsSearchV2(['restaurants brooklyn usa'], limit=20, language='en', region='us').then(response => {
console.log(response);
});
// Scrap Places da due query
client.googleMapsSearchV2(
['ristoranti brooklyn usa', 'bar brooklyn usa'],
limit=50, // limite di luoghi per ogni ricerca
language='en',
region='US',
).then(response => {
response.forEach(queryPlaces => {
queryPlaces.forEach(place => {
console.log('--------------------');
console.log('query: ', place.query);
console.log('nome: ', luogo.nome);
console.log('phone: ', place.phone);
console.log('site: ', place.site);
});
});
});
È anche possibile estrarre i dati utilizzando l'Id del luogo:
// Get data of the specific place by id
client.googleMapsSearch(['ChIJrc9T9fpYwokRdvjYRHT8nI4'], language='en').then(response => {
console.log(response);
});
// Scrap Places by Place Ids
client.googleMapsSearch(
["ChIJ8ccnM7dbwokRy-pTMsdgvS4", "ChIJN5X_gWdZwokRck9rk2guJ1M", "ChIJxWLy8DlawokR1jvfXUPSTUE"],
limit=1, // limit of palces per each query
).then(response => {
response.forEach(queryPlaces => {
queryPlaces.forEach(place => {
console.log('--------------------');
console.log('name: ', place.name);
console.log('place_id: ', place.place_id);
});
});
});
Provate subito l'SDK Outscraper
L'SDK Outscraper ha reso semplice e fornisce un modo efficiente per eseguire facilmente lo scraping di Google Maps con Node.js. Basta iscriversi per provare il nostro 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.
npm install outscraper --save # Oppure aggiungere outscraper
const Outscraper = require('outscraper'); // O utilizzando i moduli ES: importare Outscraper da 'outscraper'; let client = new Outscraper('SECRET_API_KEY');
// Ricerca di aziende in luoghi specifici: client.googleMapsSearchV2(['restaurants brooklyn usa'], limit=20, language='en', region='us').then(response => { console.log(response); }); // Scrap Places da due query client.googleMapsSearchV2( ['ristoranti brooklyn usa', 'bar brooklyn usa'], limit=50, // limite di luoghi per ogni ricerca language='en', region='US', ).then(response => { response.forEach(queryPlaces => { queryPlaces.forEach(place => { console.log('--------------------'); console.log('query: ', place.query); console.log('nome: ', luogo.nome); console.log('phone: ', place.phone); console.log('site: ', 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.
0 Comments