Tabella dei contenuti

A causa delle varie protezioni (Recaptcha, contenuto dinamico, controlli IP, ecc.) lo scraping di Google Maps in puro python è un compito impegnativo anche se si ha esperienza nel campo. Fortunatamente, ci sono molti strumenti che è possibile impiegare per raschiare le recensioni in python o in qualsiasi altro linguaggio di programmazione.

In questo articolo, vedrete i due strumenti più comuni di scraping di Google Maps: emulazione del browser e Outscraper API. Questo tutorial dovrebbe essere sufficiente per estrarre i dati per gli individui come per i team di big data.

Scrape Google Places in Python

Potete provare a fare lo scraping di Google con python puro ma entro 10 richieste vedrete che il vostro software è bloccato. Questo accade perché Google convalida le sessioni e si aspetta che JavaScript faccia alcune chiamate API in background. Pertanto, è necessario utilizzare l'emulazione del browser per evitare che Google Maps blocchi il nostro crawler. Inoltre è possibile utilizzare i proxy.

Per iniziare a costruire lo scraper di google maps con l'emulazione del browser, segui i passi descritti in questo tutorial Come raschiare Google Maps con Python e Selenium.

Scrape Google Places in Python in 6 minuti

Sviluppare lo scraper di Google Maps e mantenerlo potrebbe richiedere una grande quantità di tempo e sforzi. Pertanto, molti team di ingegneri trovano vantaggioso concentrarsi sul loro campo principale e utilizzare Outscraper Platfom come fonte affidabile di dati per le loro applicazioni.

Scrape Google Maps utilizzando l'SDK

1. Avrai bisogno di python3+ e questo pacchetto Python. Installate il pacchetto eseguendo il seguente comando.

				
					pip installa google-services-api
				
			

2. Ottieni la tua chiave API da la pagina del profilo.
3. Importare il pacchetto e inizializzarlo con la chiave. Specificare le query per eseguire la ricerca in questo modo "Ristoranti vicino a Los Angeles, Stati Uniti d'America". Usa i paesi e le città all'interno di ogni query.

				
					da outscraper importare ApiClient


api_cliet = ApiClient(api_key='KEY_FROM_OUTSCRAPER')
response = api_cliet.google_maps_search(
    'Ristoranti vicino a Los Angeles, USA',
    language='en',
    region='es',
    limit=100
)
				
			

4. Aspettate qualche secondo fino a quando i dati saranno recuperati.

				
					[
    {
        "nome": "Sushi Gen",
        "indirizzo_completo": "422 E 2nd St, Los Angeles, CA 90012",
        "quartiere": "Little Tokyo",
        "street": "422 E 2nd St",
        "città": "Los Angeles",
        "codice postale: "90012",
        "country_code": "US",
        "paese": "Stati Uniti d'America",
        "us_state": "California",
        "stato": "California",
        "plus_code": null,
        "latitudine": 34.0466917,
        "longitudine": -118.2385444,
        "fuso orario": "America/Los_Angeles",
        "site": "http://www.sushigen-dtla.com/",
        "phone": "+1 213-617-0552",
        "tipo": "Ristorante sushi",
        "sottotipi": "Ristorante sushi, ristorante giapponese",
        "posti": null,
        "valutazione": 4.6,
        "recensioni": 1244,
        "reviews_data": null,
        "foto_conteggio": 1261,
        "google_id": "0x80c2c63850150b9d:0x96cdcf9a38a24170",
        "place_id": "ChIJnQsVUDjGwoARcEGiOJrPzZY",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJnQsVUDjGwoARcEGiOJrPzZY&q=Restaurants+near+Los+Angeles,+USA&authuser=0&hl=it&gl=US",
        "reviews_id": "-7580174336512605840",
        "photo": "https://lh5.googleusercontent.com/p/AF1QipMtt0bMtJTF1bDTZ2tbXuWXtZTNWmvjJUu3ejKy",
        "orario_lavorativo_vecchio_formato": "Lunedì: Chiuso | Martedì: 11AMu20132PM,5\u20137:30PM | Mercoledì: 11AMu20132PM,5\u20137:30PM | Giovedì: 11AMu20132PM,5\u20137:30PM | Venerdì: 11AMu20132PM,5\u20138PM | Sabato: 4:38PM | Domenica: Chiuso",
        "orario_lavorativo": {
            "Lunedì": "Chiuso",
            "Martedì": "11AM\u20132PM,5\u20137:30PM",
            "Mercoledì": "11AM\u20132PM,5\u20137:30PM",
            "Giovedì": "11AM\u20132PM,5\u20137:30PM",
            "Venerdì": "11AM\u20132PM,5\u20138PM",
            "Sabato": "4:00u20138PM",
            "Domenica": "Chiuso"
        },
        "stato_aziendale": "OPERATIVO",
        "circa": {
            "Opzioni di servizio": {
                "Takeout": true
                "Consegna": false
            },
            "Salute e sicurezza": {
                "Maschera richiesta": true
            },
            "In evidenza": {
                "Grande selezione di tè": true
            },
            "Popolare per": {
                "Pranzo": true
                "Cena": true
                "Cena da solo": true
            },
            "Accessibilità": {
                "Ingresso accessibile alle sedie a rotelle": true
            },
            "Offerte": {
                "Opzioni salutari": true
                "Piatti piccoli": true
            },
            "Opzioni per la cena": {
                "Dessert": true
            },
            "Servizi": {
                "Seggioloni": true
            },
            "Atmosfera": {
                "Casual": true
                "Accogliente": true
            },
            "Folla": {
                "Gruppi": true
                "Turisti": true
            },
            "Pianificazione": {
                "Si consiglia di prenotare la cena": true
                "Accetta prenotazioni": true
                "Di solito c'è da aspettare": true
            }
        },
        "intervallo": "$$$",
        "recensioni_per_score": {
            "1": 25,
            "2": 14,
            "3": 52,
            "4": 291,
            "5": 862
        },
        "reserving_table_link": null,
        "booking_appointment_link": null,
        "owner_id": "100930306416993024046",
        "verified": true,
        "owner_title": "Sushi Gen",
        "owner_link": "https://www.google.com/maps/contrib/100930306416993024046",
        "location_link": "https://www.google.com/maps/place/Sushi+Gen/@34.0466917,-118.2385444,14z/data=!4m8!1m2!2m1!1sSushi+Gen!3m4!1s0x80c2c63850150b9d:0x96cdcf9a38a24170!8m2!3d34.0466917!4d-118.2385444"
    },
    {
        "nome": "Water Grill",
        "full_address": "544 S Grand Ave, Los Angeles, CA 90071",
        "quartiere": "Financial District",
        "street": "544 S Grand Ave",
        "città": "Los Angeles",
        "postal_code": "90071",
        "country_code": "US",
        "paese": "Stati Uniti d'America",
        "us_state": "California",
        "stato": "California",
        "plus_code": null,
        "latitudine": 34.0490403,
        "longitudine": -118.25470659999999,
        "time_zone": "America/Los_Angeles",
        "site": "https://www.watergrill.com/la",
        "phone": "+1 213-891-0900",
        "tipo": "Ristorante di pesce",
        "sottotipi": "Ristorante di pesce",
        "posti": null,
        "valutazione": 4.4,
        "recensioni": 1387,
        "reviews_data": null,
        "foto_conteggio": 1429,
        "google_id": "0x80c2c7b4901ce7c7:0x2ad996c9a82b097c",
        "place_id": "ChIJx-cckLTHwoARfAkrqMmW2So",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJx-cckLTHwoARfAkrqMmW2So&q=Restaurants+near+Los+Angeles,+USA&authuser=0&hl=en&gl=US",
        "reviews_id": "3087664812393171324",
        "foto": "https://lh5.googleusercontent.com/p/AF1QipPX7-DP07mvQQSxDjDjuOVYj9HlQ2bvNJ_EEZYW",
        "orario_lavorativo_vecchio_formato": "Lunedì: 11:30AMu20139PM | Martedì: 11:30AMu20139PM | Mercoledì: 11:30AMu20139PM | Giovedì: 11:30AMu20139PM | Venerdì: 11:30AMu201310PM | Sabato: 4:0310PM | Domenica: 4\u20139PM",
        "Orario_di_lavoro": {
            "Lunedì": "11:30AM\u20139PM",
            "Martedì": "11:30AMu20139PM",
            "Mercoledì": "11:30AMu20139PM",
            "Giovedì": "11:30AMu20139PM",
            "Venerdì": "11:30AMu201310PM",
            "Sabato": "4:0310PM",
            "Domenica": "4\u20139PM"
        },
        "stato_aziendale": "OPERATIVO",
        "circa": {
            "Opzioni di servizio": {
                "Takeout": true
                "Dine-in": true
                "Consegna": false
            },
            "Salute e sicurezza": {
                "Maschera obbligatoria": true
                "Il personale indossa maschere": true
                "Il personale si fa controllare la temperatura": true, "Il personale si fa controllare la temperatura": true
                "Il personale deve disinfettare le superfici tra le visite": true
            },
            "In evidenza": {
                "Ottimo dessert": true
            },
            "Popolare per": {
                "Pranzo": true
                "Cena": true
                "Cena da solo": true
            },
            "Accessibilità": {
                "Ingresso accessibile con sedia a rotelle": true
                "Posti a sedere accessibili con sedia a rotelle": true
            },
            "Offerte": {
                "Alcol": true
                "Birra": true
                "Cocktail": true,
                "Caffè": true,
                "Liquore forte": true
                "Opzioni salutari": true
                "Cibo a tarda notte": true
                "Piccoli piatti": vero
                "Opzioni vegetariane": true
                "Vino": vero
            },
            "Opzioni per la cena": {
                "Pranzo": true
                "Cena": true
                "Dessert": true,
                "Posti a sedere": true
            },
            "Servizi": {
                "Bar in loco": true
                "Seggioloni": true
                "Servizi igienici": true
                "Wi-Fi": true
            },
            "Atmosfera": {
                "Accogliente": true
                "Romantico": true
                "Altolocato": true
            },
            "Folla": {
                "Per famiglie": true
                "Gruppi": true
                "Turisti": true
            },
            "Pianificazione": {
                "Prenotazione pranzo consigliata": true
                "Si consiglia la prenotazione per la cena": true
                "Accetta prenotazioni": true
            }
        },
        "intervallo": "$$$",
        "recensioni_per_score": {
            "1": 27,
            "2": 32,
            "3": 97,
            "4": 408,
            "5": 823
        },
        "reserving_table_link": "https://www.watergrill.com/la#RESERVATIONS",
        "booking_appointment_link": "https://www.watergrill.com/la#RESERVATIONS",
        "owner_id": "116715188720123884576",
        "verificato": true,
        "owner_title": "Water Grill",
        "owner_link": "https://www.google.com/maps/contrib/116715188720123884576",
        "location_link": "https://www.google.com/maps/place/Water+Grill/@34.0490403,-118.25470659999999,14z/data=!4m8!1m2!2m1!1sWater+Grill!3m4!1s0x80c2c7b4901ce7c7:0x2ad996c9a82b097c!8m2!3d34.0490403!4d-118.25470659999999"
    },
    ...
]
				
			

Video tutorial su come raschiare Google Maps in Python


Bonus

Iscriviti ora e utilizzare il codice promozionale SCARICATORE1 per ottenere il 10% SPENTO sconto.

Pacchetto Python ► https://pypi.org/project/google-services-api
Google Maps Places API ► https://outscraper.com/google-maps-api

ommenti

Lascia un commento

Segnaposto avatar