Das Auslesen lokaler Firmeneinträge von Google Maps, Yelp und den Gelben Seiten liefert Vertriebs-, Marketing- und Forschungsteams strukturierte Daten in einem Umfang, der mit manueller Datenerfassung nicht zu erreichen ist. Diese Anleitung zeigt Ihnen, wie es geht. Erstellen einer Python-Pipeline mit Crawlbase Das Programm ruft vollständig gerenderte Angebotsseiten ab und extrahiert strukturierte Felder wie Firmenname, Adresse, Telefonnummer, Öffnungszeiten und Bewertungen für Hunderte von Städten in einem einzigen Durchlauf.

Kurz gesagt: Lokale Firmeneinträge extrahieren

Durch das Auslesen von Einträgen lokaler Unternehmen (von Plattformen wie Google Maps, Yelp und Gelbe Seiten) können Sie strukturierte Daten – wie Namen, Adressen, Telefonnummern, Öffnungszeiten und Bewertungen – in großem Umfang für die Leadgenerierung, die CRM-Anreicherung und die Marktforschung sammeln.

Allerdings scheitert die manuelle Durchführung dieser Schritte oder die Verwendung einfacher Skripte an der geografischen Abhängigkeit der Ergebnisse, dem JavaScript-generierten Inhalt und den Anti-Bot-Schutzmechanismen wie IP-Sperrung und CAPTCHA.

Die Lösung besteht darin, Datenabruf und -analyse zu trennen: Verwenden Sie ein Tool wie Crawlbase Um Rendering, Proxy-Rotation und Geo-Targeting zu handhaben, extrahieren Sie anschließend strukturierte Daten mithilfe Ihres eigenen Parsers in JSON.

In der Praxis erstellt man eine Python-Pipeline, die Folgendes leistet:

  • Sendet standortbezogene Anfragen (z. B. „Klempner in Austin“)
  • Ruft vollständig gerenderte Seiten ab
  • Extrahiert wichtige Geschäftsdaten
  • Skaliert sich über mehrere Städte in einem Durchgang

Das Ergebnis ist ein sauberer, skalierbarer Datensatz, den Sie direkt für Vertrieb, Marketing oder Analysen nutzen können – ohne selbst eine Scraping-Infrastruktur verwalten zu müssen. Die vollständige, produktionsreife Implementierung finden Sie unter [Link einfügen]. Projekt-Repository auf ScraperHub

Was sind lokale Unternehmenseintragsdaten?

Lokale Unternehmenseinträge liefern strukturierte Informationen, die bei der Suche nach Dienstleistungen in einem bestimmten Gebiet angezeigt werden. Wenn Sie beispielsweise nach „Klempner in Austin“ oder „Restaurants in Denver“ suchen, basieren die Ergebnisse auf standardisierten Feldern, die jedes Unternehmen beschreiben.

Dies umfasst in der Regel mindestens Folgendes:

• Firmenname
• Adresse
• Telefonnummer
• Öffnungszeiten
• Bewertungen und Rezensionen

Die meisten Plattformen, einschließlich Google Maps, Yelpund Gelbe SeitenDiese Informationen müssen in einem einheitlichen Format präsentiert werden, da sie standortübergreifend durchsuchbar und vergleichbar sein müssen.

Diese Daten werden in der Praxis verwendet für:

  • Lead-Generierung: Erstellung zielgerichteter Interessentenlisten nach Stadt oder Kategorie
  • CRM-Anreicherung: Aktualisierung der Verkaufsunterlagen mit verifizierten Kontaktdaten
  • Wettbewerbsforschung: Kartierung der Wettbewerberdichte und -bewertungen in verschiedenen Märkten

Der Wert ergibt sich daraus, dass diese Informationen in vielen Städten strukturiert und einheitlich vorliegen.

Warum das Auslesen lokaler Einträge schwierig ist

Das Sammeln dieser Daten in großem Umfang ist nicht so einfach wie das Senden von Anfragen und das Parsen von HTML. Die Schwierigkeit liegt darin, wie lokale Plattformen ihre Ergebnisse generieren und schützen.

Geoabhängige Ergebnisse

Lokale Suchergebnisse sind direkt an den Standort gebunden. Eine einfache Suchanfrage wie „Klempner“ liefert völlig unterschiedliche Ergebnisse, je nachdem, ob die Anfrage aus Austin, Denver oder Phoenix kommt.

Um verlässliche Daten zu erhalten, müssen Sie beides kontrollieren:

• die Suchanfrage selbst (einschließlich der Stadt)
• der Standort der Anfrage (Geo-Targeting)

Ohne das verändern sich die Ergebnisse unvorhersehbar, und die Datensätze werden inkonsistent.

JavaScript-Rendering

Die meisten modernen Listing-Plattformen liefern in der ersten Antwort nicht den vollständigen Inhalt.

Stattdessen liefert der Server eine einfache HTML-Struktur zurück, und die eigentlichen Inhalte werden später per JavaScript eingefügt.

Das bedeutet, dass eine Standard-HTTP-Anfrage die eigentlichen Geschäftsdaten oft vollständig verfehlt. Ohne die Seite wie ein Browser zu rendern, erhält man unvollständige Ergebnisse.

Blockierung und Ratenbegrenzungen

Sobald die Anzahl der Anfragen über einige wenige hinausgeht, beginnen die Plattformen, Einschränkungen anzuwenden.

Häufige Probleme sind:

• IP-Sperrung
• CAPTCHA-Herausforderungen
• und Drosselung anfordern

Diese Schutzmechanismen machen großflächiges Abkratzen unzuverlässig, es sei denn, man geht sachgemäß damit um.

Warum verwenden Crawlbase für das Auslesen lokaler Einträge

Das ist wo Crawlbase passtAnstatt eine eigene Scraping-Infrastruktur aufzubauen und zu warten, nutzen Sie sie als Abrufschicht.

Crawlbase Unterstützt sowohl Standard- als auch JavaScript-basierte Anfragen, abhängig vom Typ der Seite, die Sie scrapen:

• Verwenden Sie die Normales Token für einfache, statische Seiten
• Verwenden Sie die JavaScript-Token für dynamische Seiten wie Google Maps und Yelp

Bei Verwendung der JavaScript-TokenDie Seite wird genauso gerendert, wie sie ein echter Browser laden würde. Das bedeutet, dass der empfangene HTML-Code bereits dynamisch geladene Einträge enthält.

Gleichzeitig, Crawlbase Griffe:

• Proxy-Rotation und IP-Verwaltung
• Schutzmaßnahmen gegen Bots
• Geografisch ausgerichtete Anfragen

Diese Kombination löst die zuvor genannten Kernprobleme.

Der Hauptvorteil ist die Konsistenz. Sie arbeiten mit:

• vollständige, gerenderte Seiten bei Bedarf
• weniger blockierte Anfragen
• stabile Reaktionen an allen Standorten

Statt Infrastrukturprobleme zu beheben, können Sie sich auf die Extraktion und Strukturierung der Daten konzentrieren.

Dies wird besonders wichtig, wenn dieselben Abfragen in Hunderten von Städten durchgeführt werden, da sich kleine Unstimmigkeiten schnell auf die Datenqualität auswirken.

Was Sie aufbauen

Im Prinzip beginnt der Prozess mit einer Suchanfrage und einer Stadt. Zum Beispiel: „Klempner in Austin“. Diese Eingabe wird an die zuständige Stelle gesendet. Crawlbase Crawling API, wodurch die Seite in Ihrem Namen abgerufen wird.

Statt partielles HTML zurückzugeben, Crawlbase Die Seite kann wie ein echter Browser geladen werden, sodass die Antwort bereits alle dynamisch gerenderten Einträge enthält. Dies ist wichtig für Plattformen wie Google Maps und Yelp, bei denen der Großteil des Inhalts erst nach der ersten Anfrage geladen wird.

Sobald der gerenderte HTML-Code zurückgegeben wird, extrahiert Ihr Parser die relevanten Felder wie Name, Adresse, Telefonnummer, Öffnungszeiten und Bewertungen. Anschließend wird jeder Eintrag in ein strukturiertes Format umgewandelt.

Das Ergebnis ist ein übersichtlicher JSON-Datensatz, der direkt für Leadgenerierung, CRM-Systeme oder Analysen verwendet werden kann.

Workflow-Diagramm zum Auslesen lokaler Unternehmenseinträge: Stadt und Suchanfrage werden an die Crawlbase Crawling API, das vollständig gerendertes HTML zurückgibt.

Diese Trennung zwischen Datenabfrage und Datenanalyse ermöglicht die Skalierbarkeit des Systems über mehrere Städte und Datenquellen hinweg.

Schritt für Schritt: Bau des Scrapers

Um diese Pipeline zu implementieren, können Sie den vollständig funktionsfähigen Scraper verwenden, der in der ScraperHub-Repository.

Die folgenden Schritte zeigen, wie man es lokal einrichtet und von Anfang bis Ende ausführt.

Schritt 1: Den Code von ScraperHub abrufen

Laden Sie zunächst das Projekt herunter.

Aus dem ScraperHub-Repository:

Klonen Sie das Repository
• oder laden Sie es als ZIP-Datei herunter und extrahieren Sie es.

Beispiel (mit Git):

1
2
git klonen https://github.com/ScraperHub/how-to-scrape-local-business-listings.git
cd Anleitung zum Auslesen lokaler Unternehmenseinträge

Nach dem Klonen sollte Ihre Projektstruktur wie folgt aussehen:

config.py → Verwaltet Tokens, Wiederholungsversuche und Einstellungen
fetcher.py → Crawlbase API-Anfragen
url_builder.py → Erstellt URLs für Google Maps, Yelp und Gelbe Seiten
parser.py → extrahiert strukturierte Daten
main.py → Einstiegspunkt (CLI)

Schritt 2: Richten Sie Ihre Umgebung ein

Erstellen Sie eine virtuelle Umgebung und installieren Sie die Abhängigkeiten:

1
2
3
4
5
python3 -m venv .venv
Quelle .venv/bin/activate
# Windows: .venv\Scripts\activate

pip install -r Anforderungen.txt

Als nächstes stellen Sie Ihre ein Crawlbase Tokens als Umgebungsvariablen:

1
2
exportieren CRAWLBASE_TOKEN=Ihr_normales_Token
exportieren CRAWLBASE_JS_TOKEN=Ihr_JS-Token

Hinweise:

• Beide Token werden benötigt
• Das JS-Token wird für Google Maps und Yelp benötigt.
• Das Laden von Token wird in config.py

Schritt 3: Scraper ausführen (Einzelne Stadt)

Führen Sie Ihren ersten Test durch:

1
python main.py "Klempner" --Städte "Austin" -o output.json

Was hier passiert:

• erstellt die Abfrage-URL
• ruft die Seite ab über Crawlbase
• analysiert Listen
• schreibt strukturierte JSON-Ausgabe

Schritt 4: Skalierung auf mehrere Städte

Dieselbe Abfrage auf mehrere Städte skalieren:

1
python main.py "Restaurants" --Städte "Austin" "Denver" "Phönix" -o listings.json

Dies ist der Kern des Multi-City-Scrapings.

Statt eines einzigen Datensatzes erfassen Sie nun Angebote aus mehreren Märkten in einem einzigen Durchlauf.

Schritt 5: Geo-Targeting nutzen

Für internationale oder standortspezifische Genauigkeit:

1
python main.py "Elektriker" --Städte "London" --Land Vereinigtes Königreich

Dadurch wird sichergestellt, dass die Ergebnisse dem Zielmarkt entsprechen.

Schritt 6: Datenquellen wechseln

Sie können zwischen den Plattformen wechseln.

Beispiel mit Yelp:

1
python main.py "Klempner" --Städte "Austin" --Quelle Jaulen

Zu den unterstützten Quellen gehören:

• Google Maps
• Yelp
• Gelbe Seiten

Die URL-Generierung wird in url_builder.py.

Schritt 7: Skalieren mit Enterprise Crawler

Bei größeren Arbeitslasten, wie beispielsweise der Verarbeitung von Daten zu Hunderten von Städten über mehrere Abfragen hinweg, Crawling API Funktioniert gut für On-Demand-Anfragen. Wenn Sie jedoch große Mengen von URLs verarbeiten, Enterprise Crawler ist eine geeignetere Option.

Es ist für die Massenverarbeitung mit einem asynchronen, Push-basierten Modell konzipiert.

Der Übergang ist einfach. Sie können Ihre bestehende Konfiguration wiederverwenden und Folgendes hinzufügen:

1
2
params["Rückruf"] = richtig
params["Raupen"] = "Lokale Einträge"Crawler" #Ihre individuellen Crawler Name

Anstatt eine Anfrage zu senden und auf jede Antwort zu warten, übertragen Sie einfach Ihre URLs an die CrawlerEs verarbeitet alles im Hintergrund, und die Ergebnisse werden geliefert, sobald sie fertig sind.

Hinsichtlich der Auswertung der Ergebnisse können Sie wählen, wie Sie die Ergebnisse erhalten möchten.

Crawlbase Cloud Storage: Crawlbase speichert die Daten für Sie, und Sie können sie später wieder abrufen.
WebhookDie Ergebnisse werden direkt an Ihren Endpunkt gesendet, sobald sie fertig sind.

Wenn Sie sich für einen Webhook entscheiden, müssen Sie einen Endpunkt einrichten, der die Daten empfängt und in Ihrem System speichert.

Prüfen Sie die Enterprise Crawler Dokumentation Für alle Details.

Fazit

Das Auslesen lokaler Firmeneinträge ist erst dann sinnvoll, wenn es standortübergreifend erfolgt. Einige wenige Ergebnisse manuell zu erfassen ist einfach. Der wahre Mehrwert liegt jedoch im Aufbau eines Systems, das strukturierte Daten konsistent aus Hunderten von Städten extrahieren kann.

Das hängt letztendlich davon ab, dass drei Dinge zusammenwirken:

• Gezielte Abfragen für genaue lokale Ergebnisse
• Zuverlässiger Seitenaufruf für vollständige Daten
• Strukturierte Datenanalyse für nutzbare Ausgabe

Crawlbase Die Abfrageschicht wird von uns übernommen, sodass Sie sich nicht mit Darstellungsproblemen, Blockierungen oder Proxy-Verwaltung auseinandersetzen müssen. Dadurch können Sie sich auf die Erstellung von Datensätzen konzentrieren, die tatsächlich für Leadgenerierung, Vertrieb oder Analysen nutzbar sind.

Um loszulegen, erstellen Crawlbase Konto und rufen Sie Ihre API-Tokens ab. Nutzen Sie Ihre 1,000 kostenlosen Anfragen, um die gesamte Pipeline vor der Skalierung zu testen.

Häufig gestellte Fragen

Kann ich Daten aus mehreren Städten gleichzeitig abrufen?

Ja. Mehrere Städte können mit einem einzigen Befehl übergeben werden. --cities Der Scraper führt dieselbe Abfrage an jedem Standort aus und kombiniert die Ergebnisse in einer strukturierten JSON-Datei.

Was Crawlbase Welche Tokens benötige ich, um dieses Projekt auszuführen?

Sie benötigen sowohl das normale Token als auch das JavaScript-Token.

CRAWLBASE_TOKEN wird für Standardanfragen verwendet
CRAWLBASE_JS_TOKEN wird für JavaScript-intensive Seiten wie Google Maps und Yelp benötigt.

Ohne das JavaScript-Token werden die meisten Listendaten nicht korrekt geladen, da der Inhalt dynamisch gerendert wird.

Sie finden Ihre Token in Ihrem Crawlbase Benutzerkonto Übersicht.

Kann ich die Datenquelle wechseln?

Ja. Der Scraper unterstützt mehrere Plattformen. Sie können die Quellen mit dem Parameter `--source` wechseln, zum Beispiel:

--source yelp
• (andere Quellen werden unterstützt in url_builder.py)

Die einzelnen Quellen weisen leicht unterschiedliche HTML-Strukturen auf, der Parser normalisiert die Ausgabe jedoch in ein einheitliches Format.

Wie gehe ich mit großflächigem Web-Scraping (Hunderte von Städten) um?

Für größere Arbeitslasten können Sie die Crawlbase Enterprise CrawlerAnstatt synchrone Anfragen zu stellen, werden URLs per Webhook übermittelt und die Ergebnisse empfangen. Dies verbessert den Durchsatz und vermeidet Engpässe bei der Verarbeitung Tausender Anfragen.