Das Inhaltsverzeichnis

Aufgrund der verschiedenen Schutzmaßnahmen (Recaptcha, dynamischer Inhalt, IP-Prüfungen usw.) ist das Scrapen von Google Maps in reinem Python eine schwierige Aufgabe, selbst wenn Sie Erfahrung auf diesem Gebiet haben. Glücklicherweise gibt es viele Tools, die Sie einsetzen können, um die Bewertungen in Python oder einer anderen Programmiersprache zu scrapen.

In diesem Artikel werden die beiden gängigsten Tools für das Scraping von Google Maps vorgestellt: Browser-Emulation und Outscraper API. Diese Anleitung sollte ausreichen, um sowohl für Einzelpersonen als auch für Big-Data-Teams Daten zu extrahieren.

Google Places in Python scrapen

Sie können versuchen, Google mit reinem Python zu scrapen, aber innerhalb von 10 Anfragen werden Sie feststellen, dass Ihre Software blockiert wird. Dies geschieht, weil Google Sitzungen validiert und erwartet, dass JavaScript einige API-Aufrufe im Hintergrund durchführt. Daher ist eine Browser-Emulation erforderlich, um zu verhindern, dass Google Maps unseren Crawler blockiert. Zusätzlich können Sie Proxys verwenden.

Um mit der Erstellung des Google Maps Scrapers mit Browser-Emulation zu beginnen, folgen Sie bitte den in diesem Tutorial beschriebenen Schritten Wie man Google Maps mit Python und Selenium scrapen kann.

Scrapen Sie Google Places in Python innerhalb von 6 Minuten

Die Entwicklung von Google Maps Scraper und deren Wartung kann viel Zeit und Mühe erfordern. Daher finden es viele Entwicklerteams vorteilhaft, sich auf ihr Hauptgebiet zu konzentrieren und Outscraper Platfom als zuverlässige Datenquelle für ihre Apps zu nutzen.

Google Maps mit dem SDK scrapen

1. Sie benötigen Python3+ und dieses Python-Paket. Installieren Sie das Paket, indem Sie den folgenden Befehl ausführen.

				
					pip install google-services-api
				
			

2. Holen Sie sich Ihren API-Schlüssel von die Profilseite.
3. Importieren Sie das Paket und initialisieren Sie es mit dem Schlüssel. Geben Sie Abfragen an, um die Suche wie folgt durchzuführen "Restaurants in der Nähe von Los Angeles, USA". Verwenden Sie Länder und Städte innerhalb jeder Abfrage.

				
					von outscraper importieren ApiClient


api_cliet = ApiClient(api_key='KEY_FROM_OUTSCRAPER')
Antwort = api_cliet.google_maps_search(
    'Restaurants in der Nähe von Los Angeles, USA',
    language='en',
    region='es',
    limit=100
)
				
			

4. Warten Sie ein paar Sekunden, bis die Daten abgerufen werden.

				
					[
    {
        "name": "Sushi Gen",
        "full_address": "422 E 2nd St, Los Angeles, CA 90012",
        "borough": "Little Tokyo",
        "street": "422 E 2nd St",
        "Stadt": "Los Angeles",
        "post_code": "90012",
        "land_code": "US",
        "Land": "Vereinigte Staaten von Amerika",
        "us_state": "Kalifornien",
        "state": "Kalifornien",
        "plus_code": null,
        "latitude": 34.0466917,
        "longitude": -118.2385444,
        "time_zone": "Amerika/Los_Angeles",
        "site": "http://www.sushigen-dtla.com/",
        "phone": "+1 213-617-0552",
        "Art": "Sushi-Restaurant",
        "subtypes": "Sushi-Restaurant, Japanisches Restaurant",
        "Beiträge": null,
        "rating": 4.6,
        "reviews": 1244,
        "bewertungen_daten": null,
        "photos_count": 1261,
        "google_id": "0x80c2c63850150b9d:0x96cdcf9a38a24170",
        "place_id": "ChIJnQsVUDjGwoARcEGiOJrPzZY",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJnQsVUDjGwoARcEGiOJrPzZY&q=Restaurants+nahe+Los+Angeles,+USA&authuser=0&hl=de&gl=US",
        "reviews_id": "-7580174336512605840",
        "photo": "https://lh5.googleusercontent.com/p/AF1QipMtt0bMtJTF1bDTZ2tbXuWXtZTNWmvjJUu3ejKy",
        "working_hours_old_format": "Montag: Geschlossen | Dienstag: 11AM\u20132PM,5\u20137:30PM | Mittwoch: 11AM\u20132PM,5\u20137:30PM | Donnerstag: 11AM\u20132PM,5\u20137:30PM | Freitag: 11AM\u20132PM,5\u20138PM | Samstag: 4\u20138PM | Sunday: Geschlossen",
        "working_hours": {
            "Monday": "Geschlossen",
            "Dienstag": "11AM\u20132PM,5\u20137:30PM",
            "Mittwoch": "11AM\u20132PM,5\u20137:30PM",
            "Donnerstag": "11AM\u20132PM,5\u20137:30PM",
            "Freitag": "11AM\u20132PM,5\u20138PM",
            "Samstag": "4\u20138PM",
            "Sonntag": "Geschlossen"
        },
        "business_status": "OPERATIONAL",
        "about": {
            "Dienstoptionen": {
                "Mitnahme": true,
                "Lieferung": false
            },
            "Gesundheit und Sicherheit": {
                "Maske erforderlich": true
            },
            "Höhepunkte": {
                "Große Teeauswahl": true
            },
            "Beliebt für": {
                "Mittagessen": true,
                "Abendessen": true,
                "Allein essen": true
            },
            "Zugänglichkeit": {
                "Rollstuhlgerechter Eingang": true
            },
            "Angebote": {
                "Gesunde Optionen": true,
                "Kleine Teller": true
            },
            "Speisemöglichkeiten": {
                "Dessert": wahr
            },
            "Annehmlichkeiten": {
                "Hochstühle": true
            },
            "Atmosphäre": {
                "Lässig": wahr,
                "Gemütlich": wahr
            },
            "Crowd": {
                "Gruppen": wahr,
                "Touristen": true
            },
            "Planung": {
                "Abendessen-Reservierung empfohlen": true,
                "Nimmt Reservierungen an": true,
                "Gewöhnlich eine Wartezeit": true
            }
        },
        "range": "$$$",
        "reviews_per_score": {
            "1": 25,
            "2": 14,
            "3": 52,
            "4": 291,
            "5": 862
        },
        "reserving_table_link": null,
        "booking_appointment_link": null,
        "owner_id": "100930306416993024046",
        "verifiziert": wahr,
        "owner_title": "Sushi Gen",
        "eigentümer_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"
    },
    {
        "name": "Wassergrill",
        "full_address": "544 S Grand Ave, Los Angeles, CA 90071",
        "borough": "Financial District",
        "street": "544 S Grand Ave", "street": "544 S Grand Ave",
        "Stadt": "Los Angeles",
        "postal_code": "90071",
        "country_code": "US",
        "Land": "Vereinigte Staaten von Amerika",
        "us_state": "Kalifornien",
        "state": "Kalifornien",
        "plus_code": null,
        "latitude": 34.0490403,
        "longitude": -118.25470659999999,
        "time_zone": "Amerika/Los_Angeles",
        "site": "https://www.watergrill.com/la",
        "phone": "+1 213-891-0900",
        "Art": "Meeresfrüchte-Restaurant",
        "Untertypen": "Meeresfrüchte-Restaurant",
        "Beiträge": null,
        "rating": 4.4,
        "reviews": 1387,
        "bewertungen_daten": null,
        "photos_count": 1429,
        "google_id": "0x80c2c7b4901ce7c7:0x2ad996c9a82b097c",
        "place_id": "ChIJx-cckLTHwoARfAkrqMmW2So",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJx-cckLTHwoARfAkrqMmW2So&q=Restaurants+nahe+Los+Angeles,+USA&authuser=0&hl=de&gl=US",
        "reviews_id": "3087664812393171324",
        "photo": "https://lh5.googleusercontent.com/p/AF1QipPX7-DP07mvQQSxDjDjuOVYj9HlQ2bvNJ_EEZYW",
        "working_hours_old_format": "Montag: 11:30AM\u20139PM | Dienstag: 11:30AM\u20139PM | Mittwoch: 11:30AM\u20139PM | Donnerstag: 11:30AM\u20139PM | Freitag: 11:30AM\u201310PM | Samstag: 4\u201310PM | Sunday: 4\u20139PM",
        "working_hours": {
            "Monday": "11:30AM\u20139PM",
            "Dienstag": "11:30AM\u20139PM",
            "Mittwoch": "11:30AM\u20139PM",
            "Donnerstag": "11:30AM\u20139PM",
            "Freitag": "11:30AM\u201310PM",
            "Samstag": "4\u201310PM",
            "Sonntag": "4\u20139PM"
        },
        "business_status": "OPERATIONAL",
        "about": {
            "Dienstoptionen": {
                "Mitnehmen": wahr,
                "Dine-in": wahr,
                "Lieferung": false
            },
            "Gesundheit & Sicherheit": {
                "Maske erforderlich": true,
                "Personal trägt Masken": true,
                "Personal erhält Temperaturkontrollen": true,
                "Personal muss Flächen zwischen den Besuchen desinfizieren": true
            },
            "Highlights": {
                "Tolles Dessert": true
            },
            "Beliebt für": {
                "Mittagessen": true,
                "Abendessen": true,
                "Allein essen": true
            },
            "Zugänglichkeit": {
                "Rollstuhlgerechter Eingang": true,
                "Rollstuhlgerechte Sitzplätze": true
            },
            "Angebote": {
                "Alkohol": wahr,
                "Bier": wahr,
                "Cocktails": wahr,
                "Kaffee": wahr,
                "Schnaps": wahr,
                "Gesunde Optionen": wahr,
                "Spätabendessen": wahr,
                "Kleine Teller": wahr,
                "Vegetarische Optionen": wahr,
                "Wein": wahr
            },
            "Speisemöglichkeiten": {
                "Mittagessen": wahr,
                "Abendessen": wahr,
                "Nachspeise": wahr,
                "Sitzplätze": true
            },
            "Annehmlichkeiten": {
                "Bar vor Ort": true,
                "Hochstühle": wahr,
                "Toilette": wahr,
                "Wi-Fi": true
            },
            "Atmosphere": {
                "Gemütlich": wahr,
                "Romantisch": wahr,
                "gehoben": true
            },
            "Crowd": {
                "Familienfreundlich": wahr,
                "Gruppen": wahr,
                "Touristen": wahr
            },
            "Planung": {
                "Mittagsreservierung empfohlen": true,
                "Reservierung für das Abendessen empfohlen": true,
                "Akzeptiert Reservierungen": true
            }
        },
        "range": "$$$",
        "reviews_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",
        "verifiziert": wahr,
        "owner_title": "Wassergrill",
        "eigentümer_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 zum Scrapen von Google Maps in Python


Bonus

Jetzt anmelden und verwenden Sie den Aktionscode OUTSCRAPER1 um die 10% AUS Rabatt.

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

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter