Zurück zum Blog
Anleitungen
Andrei OgiolanLast updated on Mar 31, 20266 min read

So extrahieren Sie Bewertungen aus Google Maps

So extrahieren Sie Bewertungen aus Google Maps

Einleitung

Google Maps ist einer der weltweit am häufigsten genutzten Karten- und Navigationsdienste und bietet Nutzern eine einfache Möglichkeit, Orte, Unternehmen und Sehenswürdigkeiten zu finden und zu erkunden. Eine der wichtigsten Funktionen von Google Maps ist die Möglichkeit, nach Orten zu suchen und detaillierte Informationen zu diesen anzuzeigen, wie beispielsweise deren Standort, Bewertungen, Fotos und mehr.

Das Scrapen dieser Daten aus Google Maps kann für Unternehmen nützlich sein, um die Leistung ihrer Standorte zu verfolgen und zu analysieren, für Forscher, um Muster im Verbraucherverhalten zu untersuchen, und für Einzelpersonen, um neue Orte zu finden und zu erkunden.

Der Zweck dieses Artikels ist es, eine Schritt-für-Schritt-Anleitung zu geben, wie man mit unserer API unter Verwendung von Node.js Bewertungen aus Google Maps extrahiert. Wir behandeln alles von der Einrichtung der Entwicklungsumgebung über die Extraktion relevanter Daten bis hin zur Erörterung potenzieller Probleme. Am Ende dieses Artikels verfügen Sie über das Wissen und die Werkzeuge, die Sie benötigen, um Google Maps-Standortergebnisse selbst zu extrahieren.

Warum sollten Sie einen professionellen Scraper verwenden, anstatt selbst einen zu entwickeln?

Die Verwendung eines professionellen Scrapers kann aus mehreren Gründen eine bessere Option sein als die Erstellung eines eigenen. Erstens sind professionelle Scraper darauf ausgelegt, eine Vielzahl von Scraping-Aufgaben zu bewältigen, und sind hinsichtlich Leistung, Zuverlässigkeit und Skalierbarkeit optimiert. Sie sind für die Verarbeitung großer Datenmengen konzipiert und können verschiedene Arten von Websites und Webtechnologien verarbeiten. Das bedeutet, dass professionelle Scraper Daten oft schneller und genauer extrahieren können als ein selbst entwickelter Scraper.

Zudem verfügen professionelle Scraper oft über integrierte Funktionen wie CAPTCHA-Lösung, IP-Rotation und Fehlerbehandlung, was den Scraping-Prozess effizienter und weniger fehleranfällig macht. Sie bieten außerdem Support und Dokumentation, was hilfreich sein kann, wenn Probleme auftreten.

Ein weiterer wichtiger Aspekt ist, dass Anbieter professioneller Scraper die Scraping-Richtlinien der von ihnen gescrapten Websites einhalten und eine rechtmäßige Nutzung der Daten gewährleisten können – ein wichtiger Punkt, den man beim Scraping von Daten im Auge behalten sollte.

Schließlich müssen Sie in unserem speziellen Fall, um Google Maps-Bewertungen zu scrapen und optimale Ergebnisse zu erzielen, einen data_id-Parameter an Ihre Google-URL übergeben. Dieser Parameter sieht in der Regel etwa so aus: 0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e. Ich weiß, dass dies zunächst einschüchternd klingen mag, da Sie vielleicht keine Ahnung haben, wie Sie die data_id-Eigenschaft für einen bestimmten Ort erhalten, und Sie haben Recht, denn Google verbirgt diese Informationen und sie sind auf der Seite nicht sichtbar, wenn Sie in Google Maps nach einem Ort suchen. Glücklicherweise kümmert sich ein professioneller Scraper wie der unsere darum, indem er diese Daten für Sie findet. In den folgenden Abschnitten werden wir darüber sprechen, wie man die data_id erhält und wie man Google Maps-Bewertungen mithilfe unserer API scrapt.

Definition unseres Ziels

Was sind Google Maps-Bewertungen?

Google Maps-Bewertungen sind die Bewertungen und Kommentare, die Nutzer auf Google Maps zu einem bestimmten Ort hinterlassen. Diese Bewertungen enthalten Informationen wie den Namen des Nutzers, das Datum der Bewertung, die abgegebene Bewertung und den Bewertungstext.

Das Scrapen von Google Maps-Bewertungen kann für Unternehmen nützlich sein, die die Leistung ihrer Standorte verfolgen und analysieren möchten, für Forscher, die Muster im Verbraucherverhalten untersuchen wollen, und für Privatpersonen, die neue Orte finden und erkunden möchten. Durch das Extrahieren der Bewertungsdaten können Unternehmen die Stärken und Schwächen ihrer Standorte identifizieren und entsprechende Verbesserungen vornehmen. Forscher können die Stimmung in den Bewertungen untersuchen und Muster im Verbraucherverhalten erkennen. Privatpersonen können diese Informationen ebenfalls nutzen, um Entscheidungen darüber zu treffen, wohin sie gehen und was sie unternehmen möchten.

Wie sieht unser Ziel aus?

Einrichtung

Bevor Sie mit dem Scraping von Google Maps-Bewertungen beginnen, ist es wichtig, die erforderlichen Tools bereitzuhalten. Die wichtigste Voraussetzung ist Node.js, eine JavaScript-Laufzeitumgebung, die die Ausführung von JavaScript auf der Serverseite ermöglicht und von der offiziellen Website heruntergeladen werden kann. Zusätzlich wird ein API-Schlüssel benötigt, den Sie erhalten, indem Sie hier ein Konto erstellen und den SERP-Dienst aktivieren.

Nachdem Sie Node.js eingerichtet und einen API-Schlüssel erhalten haben, besteht der nächste Schritt darin, eine Node.js-Skriptdatei zu erstellen. Dies können Sie tun, indem Sie den folgenden Befehl ausführen:

$ touch scraper.js

Fügen Sie nun die folgende Zeile in Ihre Datei ein:

console.log("Hello World!")

Führen Sie anschließend den folgenden Befehl aus:

$ node scraper.js

Wenn die Meldung „Hello World!“ im Terminal angezeigt wird, bedeutet dies, dass Node.js erfolgreich installiert wurde und Sie bereit sind, mit dem letzten Schritt fortzufahren. Dieser letzte Schritt besteht darin, die Place-ID des Ortes zu ermitteln, von dem Sie Bewertungen scrapen möchten. Hier kommt unsere API ins Spiel: Sie ist einfach zu verwenden und erfordert keine Installation zusätzlicher Bibliotheken.

Zunächst müssen Sie in einer JS-Datei das in Node.js integrierte Modul `https` importieren, um Anfragen an unsere API senden zu können. Dies kann wie folgt erfolgen:

​​const https = require("https");

Zweitens müssen Sie Ihren API-Schlüssel, einen Suchbegriff und die Koordinaten des Ortes angeben, für den Sie sich interessieren:

const API_KEY = "<YOUR-API-KEY-HERE>" // You can get by creating an account - https://app.webscrapingapi.com/register

const query = "Waldo%20Pizza"

const coords = "@38.99313451901278,-94.59368586441806"

Tipp: So erhältst du die Koordinaten eines Ortes auf Google Maps:

Der nächste Schritt besteht darin, die erhaltene Place-ID in ein Options-Objekt aufzunehmen, um unserer API mitzuteilen, welche Bewertungen zu welchem Standort du abrufen möchtest:

const options = {

  "method": "GET",

  "hostname": "serpapi.webscrapingapi.com",

  "port": null,

  "path": `/v1?engine=google_maps&api_key=${API_KEY}&type=search&q=${query}&ll=${coords}`,

  "headers": {}

};

Als Nächstes müssen Sie nun einen Aufruf an unsere API mit all diesen Informationen einrichten:

const req = https.request(options, function (res) {

 const chunks = [];

 res.on("data", function (chunk) {

   chunks.push(chunk);

 });

 res.on("end", function () {

   const body = Buffer.concat(chunks);

   const response = JSON.parse(body.toString());

   const data_id = response.place_results.data_id;

   if (data_id) {

       console.log(data_id);

   }

   else {

       console.log('We could not find a data_id property for your query. Please try using another query')

   }

 });

});

req.end();

Zuletzt können Sie das soeben erstellte Skript ausführen und auf die Rückgabe der Ergebnisse warten:

​​$ node scraper.js

Und Sie sollten die Eigenschaft „data_id“ auf dem Bildschirm sehen:

$ ​​0x87c0ef253b04093f:0xafdfd6dc1d3a2b4es

Damit ist der Einrichtungsprozess abgeschlossen. Mit der Eigenschaft „data_id“ verfügen Sie nun über alle notwendigen Informationen, um mithilfe unserer API und Node.js einen Scraper für Google Maps-Bewertungen zu erstellen.

Beginnen wir mit dem Scraping von Google-Bewertungen

Nachdem die Umgebung eingerichtet ist, können Sie mit dem Scraping von Google Maps-Bewertungen über unsere API beginnen. Dazu müssen Sie den Parameter „data“ wie zuvor beschrieben einrichten. Wenn alle erforderlichen Informationen vorliegen, können Sie den Parameter „data_id“ wie folgt einrichten:

const data_id = "0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e" // the data_id we retrieved earlier

Jetzt müssen Sie nur noch das Options-Objekt anpassen, um unserer API mitzuteilen, dass Sie Bewertungen aus Google Maps scrapen möchten:

const options = {

  "method": "GET",

  "hostname": "serpapi.webscrapingapi.com",

  "port": null,

  "path": `/v1?engine=google_maps_reviews&api_key=${API_KEY}&data_id=${data_id}`, // there is no need in having a query anymore, data_id is enough to identify a place

  "headers": {}

};

Und das ist bereits alles, was Sie tun müssen. Ihr Skript sollte nun wie folgt aussehen:

const http = require("https");

const API_KEY = "<YOUR-API-KEY-HERE>"

const data_id = "0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e" // the data_id we retrieved earlier

const options = {

  "method": "GET",

  "hostname": "serpapi.webscrapingapi.com",

  "port": null,

  "path": `/v1?engine=google_maps_reviews&api_key=${API_KEY}&data_id=${data_id}`, // there is no need in having a query anymore, data_id is enough to identify a place

  "headers": {}

};

const req = http.request(options, function (res) {

  const chunks = [];

  res.on("data", function (chunk) {

    chunks.push(chunk);

  });

  res.on("end", function () {

    const body = Buffer.concat(chunks);

    const response = JSON.parse(body.toString())

    console.log(response);

  });

});

req.end();

Nach der Ausführung dieses Skripts sollten Sie eine Antwort erhalten, die in etwa so aussieht:

reviews: [

    {

      link: 'https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSUMyem9pOEdBEAE!2m1!1s0x0:0xafdfd6dc1d3a2b4e!3m1!1s2@1:CIHM0ogKEICAgIC2zoi8GA%7CCgwI1vuBkwYQiKeWyQE%7C?hl=en-US',

      date: '8 months ago',

      rating: 5,

      snippet: 'Wow, if you have dietary restrictions this is absolutely the place to go! Both for the variety of restrictions they cater to as well as the taste of the dishes.The good: great tasting food. Very conscious of dietary restrictions which include multiple types of vegan cheeses as well as gluten free. Decent drink selection.The meh: service is nice but a touch slow. Maybe understaffed? Prices are average for pizzas.The bad: noneFeatures: Did not see any masks on anyone inside. Unsure of cleaning practices so I cannot speak to that.Dine in: Yes\n' +

        'Takeout: Yes\n' +

        'Curbside pickup: YesWow, if you have dietary restrictions this is absolutely the place to go! Both for the variety of restrictions they cater to as well as the taste of the dishes. ...More',

      likes: 3,

      user: [Object],

      images: [Array]

    },

    {

      link: 'https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSURXOUxHSUl3EAE!2m1!1s0x0:0xafdfd6dc1d3a2b4e!3m1!1s2@1:CIHM0ogKEICAgIDW9LGIIw%7CCgwI3OnIkQYQwLGL1gM%7C?hl=en-US',

      date: '9 months ago',

      rating: 5,

      snippet: "We love Waldo Pizza! We have dairy allergies and Waldo offers a wide range of vegan cheeses as well as a ton of different toppings. The vegan dessert here is always excellent as well, super rich in flavor. Of course the traditional pizza, pasta and dessert are also amazing! It's great to have both options under one roof!Dine in: Yes\n" +

        'Outdoor seating: No ...More',

      likes: 1,

      user: [Object],

      images: [Array]

    }

    . . . 

]    

Und das war’s schon! Sie haben erfolgreich Google Maps-Bewertungen mithilfe unserer API ausgelesen und können die gewonnenen Daten nun für verschiedene Zwecke wie Datenanalyse, Geschäftsanalyse, maschinelles Lernen und mehr nutzen. Weitere Informationen und Code-Beispiele in sechs weiteren Programmiersprachen finden Sie in unserer Dokumentation zu Google Maps-Bewertungen.

Einschränkungen bei Google Maps-Bewertungen

Auch wenn die Verwendung eines professionellen Scrapers zum Extrahieren von Google Maps-Bewertungen effizienter und genauer sein kann als die Entwicklung eines eigenen Scrapers, gibt es dennoch einige Einschränkungen zu beachten. Eine Einschränkung besteht darin, dass einige professionelle Scraper Nutzungsbeschränkungen haben können, was bedeutet, dass Sie nur eine bestimmte Anzahl von Bewertungen pro Tag oder pro Monat scrapen können. Eine weitere Einschränkung besteht darin, dass manche professionelle Scraper möglicherweise nicht in der Lage sind, IP-Sperren oder CAPTCHAs zu umgehen, was es schwierig machen kann, große Datenmengen fehlerfrei zu extrahieren. Glücklicherweise verfügen wir bei WebScrapingAPI über Residential-Proxys, die die IP-Adressen rotieren lassen, sodass Sie abgesichert sind und sich keine Sorgen machen müssen, gesperrt oder in der Datenrate begrenzt zu werden. Beachten Sie jedoch, dass Google-Maps-Bewertungen in der Regel in natürlicher Sprache verfasst sind, was ihre Analyse und Interpretation ohne den Einsatz von Techniken zur Verarbeitung natürlicher Sprache erschweren kann.

Fazit

Zusammenfassend lässt sich sagen, dass das Scraping von Google Maps-Bewertungen ein wertvolles Werkzeug für Unternehmen, Forscher und Privatpersonen sein kann. Es ermöglicht Ihnen, Daten in großem Umfang zu sammeln und für verschiedene Zwecke zu analysieren. Es ist jedoch wichtig zu bedenken, dass das Scraping von Google Maps-Bewertungen Einschränkungen unterliegt, darunter Nutzungsbeschränkungen, CAPTCHAs, IP-Sperren und die Verarbeitung natürlicher Sprache. Der Einsatz eines professionellen Scrapers kann den Prozess effizienter und genauer machen und Ihnen helfen, einige dieser Einschränkungen zu umgehen. Insgesamt kann das Scraping von Google Maps-Bewertungen nützliche Informationen liefern, aber es ist wichtig, dabei mit Vorsicht und Sorgfalt vorzugehen.

Über den Autor
Andrei Ogiolan, Full-Stack-Entwickler @ WebScrapingAPI
Andrei OgiolanFull-Stack-Entwickler

Andrei Ogiolan ist Full-Stack-Entwickler bei WebScrapingAPI, wo er in verschiedenen Bereichen des Produkts mitwirkt und dabei hilft, zuverlässige Tools und Funktionen für die Plattform zu entwickeln.

Los geht’s

Sind Sie bereit, Ihre Datenerfassung zu erweitern?

Schließen Sie sich den über 2.000 Unternehmen an, die WebScrapingAPI nutzen, um Webdaten im Unternehmensmaßstab ohne zusätzlichen Infrastrukturaufwand zu extrahieren.