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.