Web Scrape von Google Maps Ortsergebnissen
Andrei Ogiolan am 20. April 2023

Einführung
Google Maps ist einer der weltweit am häufigsten genutzten Karten- und Navigationsdienste, der den Nutzern eine einfache Möglichkeit bietet, Orte, Unternehmen und interessante Punkte zu finden und zu erkunden. Eine der wichtigsten Funktionen von Google Maps ist die Möglichkeit, nach Orten zu suchen und detaillierte Informationen über sie anzuzeigen, z. B. ihren Standort, Bewertungen, Fotos und mehr.
Die Auswertung dieser Daten aus Google Maps kann für eine Vielzahl von Zwecken nützlich sein. Unternehmen können diese Daten beispielsweise nutzen, um die Leistung ihrer Standorte zu verfolgen und zu analysieren, Forscher können sie nutzen, um Muster im Verbraucherverhalten zu untersuchen, und Privatpersonen können sie nutzen, um neue Orte zu finden und zu erkunden.
Der Zweck dieses Artikels ist es, eine Schritt-für-Schritt-Anleitung zum Scrapen von Google Maps-Ortergebnissen mit unserer API unter Verwendung von Node.js bereitzustellen. Wir werden alles von der Einrichtung der Entwicklungsumgebung bis zur Extraktion relevanter Daten abdecken und mögliche Probleme beschreiben. Am Ende dieses Artikels verfügen Sie über das Wissen und die Werkzeuge, die Sie benötigen, um Google Maps-Ortergebnisse selbst zu scrapen.
Warum sollten Sie einen professionellen Abstreifer verwenden, anstatt einen eigenen zu bauen?
Die Verwendung eines professionellen Scrapers kann aus mehreren Gründen eine bessere Option sein als die Erstellung eines eigenen Scrapers. Erstens sind professionelle Scraper für die Bewältigung einer Vielzahl von Scraping-Aufgaben ausgelegt und für Leistung, Zuverlässigkeit und Skalierbarkeit optimiert. Sie sind für die Verarbeitung großer Datenmengen ausgelegt und können mit verschiedenen Arten von Websites und Webtechnologien umgehen. Das bedeutet, dass professionelle Scraper Daten oft schneller und genauer extrahieren können als ein individuell angefertigter Scraper.
Darüber hinaus verfügen professionelle Scraper oft über integrierte Funktionen wie CAPTCHA-Lösung, IP-Rotation und Fehlerbehandlung, die den Scraping-Prozess effizienter und weniger fehleranfällig machen können. Sie bieten auch Support und Dokumentation, die bei Problemen hilfreich sein können.
Ein weiterer wichtiger Aspekt ist, dass professionelle Scraper die Scraping-Richtlinien der Websites, die sie scrapen, einhalten und die legale Nutzung der Daten gewährleisten können.
In unserem speziellen Fall müssen Sie einen Datenparameter an Ihre Google-URL übergeben, um die Google Maps-Ortsergebnisse abzurufen:
Der Datenparameter sieht in der Regel wie folgt aus: !4m5!3m4!1s + data_id + !8m2!3 + Breitengrad + !4d + Längengrad. 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 können, und Sie haben Recht, denn Google versteckt diese Information und sie ist auf der Seite nicht sichtbar, wenn Sie in Google Maps nach einem Ort suchen. Aber zum Glück kann ein professioneller Scraper wie der unsere diese Daten für Sie finden. Wir werden in den folgenden Abschnitten darüber sprechen, wie man die data_id und die Koordinaten erhält und wie man den Datenparameter einfach erstellen kann.
Unser Ziel definieren
Was sind Google Maps Place-Ergebnisse?
Google Maps-Ortergebnisse sind die Ergebnisse, die angezeigt werden, wenn ein Nutzer in Google Maps nach einem Ort sucht. Diese Ergebnisse können Orte wie Unternehmen, Restaurants, Hotels, Sehenswürdigkeiten und andere Points of Interest enthalten. Jedes Ortsergebnis enthält Informationen wie den Namen des Ortes, die Adresse, die Telefonnummer, die Website, Bewertungen und Fotos. Die Ortsergebnisse enthalten auch ein Google Maps Street View-Bild des Ortes und eine Karte, die den Standort des Ortes zeigt. Die Ortsergebnisse können auch einen Link zur Google My Business-Seite des Ortes enthalten.
Wenn ein Nutzer auf Google Maps nach einem Ort sucht, wird ihm eine Liste von Ergebnissen angezeigt, die seiner Suchanfrage entsprechen. Diese Ergebnisse werden auf der Karte und in einem Listenformat angezeigt und können nach verschiedenen Kriterien wie Bewertung, Preis und Entfernung gefiltert werden.
Das Scraping dieser Daten kann für Unternehmen nützlich sein, die die Leistung ihrer Standorte verfolgen und analysieren wollen, für Forscher, die Muster im Verbraucherverhalten untersuchen wollen, und für Einzelpersonen, die neue Orte finden und erkunden wollen.
Wie sieht unser Ziel aus?

Einrichten
Bevor wir mit dem Scrapen von Google Maps-Ortsergebnissen beginnen können, müssen wir sicherstellen, dass wir die notwendigen Tools zur Verfügung haben. Das erste, was wir brauchen, ist Node.js, eine JavaScript-Laufzeitumgebung, die es uns ermöglicht, JavaScript auf der Serverseite auszuführen, und die Sie von der offiziellen Website installieren können. Zweitens benötigen Sie einen API-Schlüssel, den Sie ganz einfach erhalten, indem Sie hier ein Konto anlegen und den SERP-Dienst aktivieren.
Sobald Sie diese Dinge eingerichtet haben, müssen Sie nur noch eine js-Datei erstellen, um ein Node.js-Skript auszuführen. Dies können Sie mit folgendem Befehl erreichen:
$ touch scraper.js
Fügen Sie nun die folgende Zeile in Ihre Datei ein:
console.log("Hallo Welt!")
Führen Sie dann den folgenden Befehl aus:
$ node scraper.js
Wenn Sie nun die Meldung "Hello World!" auf dem Terminal sehen können, bedeutet dies, dass Sie Node.js erfolgreich installiert haben und mit dem letzten Schritt fortfahren können.
Der letzte Schritt besteht nun darin, die data_id-Informationen über den Ort zu erhalten, an dem Sie interessiert sind. An dieser Stelle kommt unsere API ins Spiel. Ihre Verwendung ist sehr einfach und erfordert keine Installation externer Bibliotheken.
Zunächst müssen Sie in einer js-Datei das in Node.js eingebaute Modul `https` importieren, um Anfragen an unsere API senden zu können. Dies kann wie folgt gemacht werden:
const https = require("https");
Zweitens müssen Sie Ihren API-Schlüssel, einen Suchbegriff und die Koordinaten des Ortes angeben, der Sie interessiert:
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"
Nun müssen Sie diese Informationen in einem Optionsobjekt übergeben, damit unsere API weiß, von welchem Ort Sie Informationen abrufen müssen:
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();
Zum Schluss müssen Sie nur noch das von Ihnen erstellte Skript ausführen und die Ergebnisse abwarten:
$ node scraper.js
Sie sollten dann die Eigenschaft data_id auf dem Bildschirm angezeigt bekommen:
$ 0x87c0ef253b04093f:0xafdfd6dc1d3a2b4es
Das war's. Jetzt haben Sie alles, was Sie zum Erstellen des Datenparameters brauchen, und Sie können zum nächsten Abschnitt übergehen, der den Zweck dieses Artikels enthält.
Beginnen wir mit dem Scannen von Google Place Results
Nachdem Sie nun Ihre Umgebung eingerichtet haben, können Sie mit Node.js die Google Maps-Ortergebnisse auslesen. Wie bereits oben erwähnt, müssen Sie nun die Datenparameter einrichten, um Google Maps-Ortergebnisse zu scrapen. Da Sie nun alles zur Verfügung haben, können Sie dies wie folgt erreichen:
const data_id = "0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e" // die Daten_id, die wir zuvor abgerufen haben
const latitude = '38.99313451901278'
const longitude = '-94.59368586441806'
const data = '!4m5!3m4!1s' + data_id + '!8m2!3d' + latitude + '!4d' + longitude
Nun müssen Sie Ihr options-Objekt ändern, um unserer API mitzuteilen, dass Sie nach Ortsergebnissen suchen. Mit diesem neuen Datenparameter weiß unsere API genau, über welchen Ort Sie Informationen abrufen müssen:
const options = {
"method": "GET",
"hostname": "serpapi.webscrapingapi.com",
"port": null,
"path": `/v1?engine=google_maps&api_key=${API_KEY}&type=place&data=${data}`, // this time the type is place and there is no query needed
"headers": {}
};
Das resultierende Skript sollte wie folgt aussehen:
const https = require("https");
const API_KEY = "<YOUR-API-KEY-HERE>" // You can get by creating an account - https://app.webscrapingapi.com/register
const data_id = "0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e" // the data_id we retrieved earlier
const latitude = '38.99313451901278'
const longitude = '-94.59368586441806'
const data = '!4m5!3m4!1s' + data_id + '!8m2!3d' + latitude + '!4d' + longitude
const options = {
"method": "GET",
"hostname": "serpapi.webscrapingapi.com",
"port": null,
"path": `/v1?engine=google_maps&api_key=${API_KEY}&type=place&data=${data}`, // this time the type is place and there is no query needed
"headers": {}
};
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());
console.log(response)
});
});
req.end();
Nachdem Sie das Skript ausgeführt haben, sollten Sie eine Antwort erhalten, die etwa so aussieht:
place_results: {
title: 'Waldo Pizza',
data_id: '0x89c259a61c75684f:0x79d31adb123348d2',
place_id: 'ChIJT2h1HKZZwokR0kgzEtsa03k',
data_cid: '8778389626880739538',
website: 'https://www.stumptowntogo.com/',
gps_coordinates: { latitude: 38.99313451901278, longitude: -94.59368586 },
reviews_link: 'https://serpapi.webscrapingapi.com/v1?engine=google_maps_reviews&data_id=0x89c259a61c75684f:0x79d31adb123348d2',
place_id_search: 'https://serpapi.webscrapingapi.com/v1?engine=google_maps&type=place&device=desktop&data=!4m5!3m4!1s0x89c259a61c75684f:0x79d31adb123348d2!8m2!3d38.99313451901278!4d-94.59368586',
thumbnail: 'https://lh5.googleusercontent.com/p/AF1QipNtnPBJ2Oi_C2YNamHTXyqU9I8mRBarCIvM5g5v=w408-h272-k-no',
rating: 4.6,
reviews: 2594,
price: '$$',
type: [ 'Pizza restaurant' ],
service_options: { dine_in: true, curbsidepickup: true, no_contactdelivery: true },
extensions: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object]
],
open_state: 'Closed',
hours: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object]
],
contact_details: {
address: [Object],
action_1: [Object],
menu: [Object],
phone: [Object],
plus_code: [Object]
},
address: '7433 Broadway St, Kansas City, MO 64114',
images: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object]
],
people_also_search_for: [ [Object], [Object], [Object] ],
user_reviews: { summaries: [Array], most_relevant: [Array] },
popular_times: { graph_results: [Object] }
}
}
Und das war's. Das bedeutet, dass Sie es geschafft haben, die Google Maps-Ortergebnisse mithilfe unserer API zu scrapen, und dass Sie jetzt bereit sind, die gewonnenen Daten für viele verschiedene Zwecke wie Datenanalyse, Geschäftsanalyse, maschinelles Lernen und mehr zu nutzen. Weitere Referenzen und Code-Beispiele in anderen 6 Programmiersprachen finden Sie in unseren Google Maps-Dokumenten.
Einschränkungen der Google Maps Ortsergebnisse
Die Google Maps-Ortergebnisse sind zwar ein leistungsfähiges Instrument zum Auffinden und Erkunden von Orten, haben aber einige Einschränkungen, die Sie beachten sollten. Erstens ist die Menge der für jeden Ort verfügbaren Daten begrenzt und einige Daten wie Fotos, Orts-ID usw. sind nur über die Google Maps API verfügbar und erfordern einen API-Schlüssel. Außerdem können die in den Google Maps-Ortergebnissen bereitgestellten Daten dynamisch sein und sich im Laufe der Zeit ändern, was bedeutet, dass die Daten, die Sie abrufen, möglicherweise nicht genau oder aktuell sind.
Schlussfolgerung
Zusammenfassend lässt sich sagen, dass das Scrapen von Google Maps-Ortsergebnissen ein nützliches Werkzeug für Unternehmen, Forscher und Privatpersonen sein kann, um neue Orte zu finden und zu erkunden. Wenn Sie die in diesem Artikel beschriebenen Schritte befolgen, sollten Sie nun über das Wissen und die Werkzeuge verfügen, die Sie benötigen, um Google Maps-Ortergebnisse mithilfe unserer API mit Node.js zu scrapen.
Nachrichten und Aktualisierungen
Bleiben Sie auf dem Laufenden mit den neuesten Web Scraping-Anleitungen und Nachrichten, indem Sie unseren Newsletter abonnieren.
We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Ähnliche Artikel

Sammeln Sie mühelos Echtzeitdaten von Suchmaschinen mit der SERP Scraping API. Verbessern Sie Marktanalysen, SEO und Themenforschung mit Leichtigkeit. Legen Sie noch heute los!


Die 7 besten Google SERP APIs im Vergleich: WebScrapingAPI, Apify, Serp API & Mehr - Bestes Preis-Leistungs-Verhältnis, Funktionen, Vor- und Nachteile


Entdecken Sie 3 Möglichkeiten, wie Sie mit Puppeteer Dateien herunterladen und einen Web Scraper erstellen können, der genau das tut.
