Haben Sie schon einmal versucht, Daten von Immobilien-Websites zu scrapen, und sind dabei auf eine Mauer aus CAPTCHAs, Ratenbegrenzungen, Weiterleitungen oder IP-Sperren gestoßen? Es ist, als ob man sich die ganze Mühe macht und kurz vor dem Ziel feststeckt.
Wenn Sie also ein Gründer sind, der eine Datenplattform für Mietobjekte aufbaut, oder ein Entwickler, der lediglich Angebote in Excel sammeln möchte, um daraus Erkenntnisse zu gewinnen, können solche Hindernisse ein K.O.-Kriterium sein.
Was wäre, wenn es einen einfacheren Weg gäbe, präzise und strukturierte Immobiliendaten ohne die üblichen Probleme zu extrahieren – und wenn über 70,000 Entwicklerteams diesem Weg vertrauen würden? Klingt wie ein Märchen, oder? Nicht ganz. Lernen Sie uns kennen. Crawlbase, das einzige Tool, das Sie jemals für KI-gestütztes Web-Scraping benötigen werden.
Hier ist eine kurze Anleitung zur Automatisierung von Immobilienprozessen mit Crawlbase:
Schritt-für-Schritt-Anleitung zum Erstellen eines Immobilien-Daten-Scrapers
Diese Anleitung zeigt, wie man Immobilienangebote von zwei Immobilien-Websites extrahiert – Anwesend mit einem Re/Max mit dem Crawlbase Crawling APIWir extrahieren Daten wie Preis, Anzahl der Betten, Anzahl der Bäder, Wohnfläche und Adresse und exportieren diese anschließend in eine Excel-Tabelle.

Sie müssen sich nicht um Proxys, CAPTCHA oder JavaScript-Rendering kümmern. Crawlbase Das erledigt das alles für Sie. Also, keine Sorge, legen wir los.
1. Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Node.js installiert
- Eine IDE/ein Code-Editor Ihrer Wahl
- A Crawlbase Crawling API Token → Gutschein wählen (1000 kostenlose Anfragen)
- Grundkenntnisse in JavaScript/Node (ausreichend zum Lesen von Funktionen)
2. Installieren Sie die erforderlichen Pakete
Öffnen Sie Ihr Terminal und führen Sie aus:
1 | npm init -y |
Diese Pakete verwalten:
- Cheerio: Um Inhalte aus HTML zu extrahieren, ähnlich wie mit jQuery
- ExcelJS: So schreiben Sie Auflistungen in eine Excel-Datei
- CrawlbaseUm CAPTCHA, Sperren und Einschränkungen zu umgehen
3. Skriptdateien erstellen und erforderliche Module importieren
Erstellen Sie zunächst 2 neue Dateien für 2 verschiedene Skripte mit den Namen estately.js mit einem remax.jsUnd so würde Ihre Projektstruktur aussehen:

Importieren Sie anschließend die benötigten Bibliotheken, indem Sie Folgendes oben einfügen:
1 | const tschüss = erfordern("Tschüs"); |
Diese Codezeilen werden für beide Skripte benötigt, also vergessen Sie nicht, sie hinzuzufügen.
Schauen wir uns nun an, was anders ist.
Da wir zwei verschiedene Skripte für zwei verschiedene Immobilien-Website-Einträge haben, gehen wir folgendermaßen vor:
- Zunächst werden wir den vollständigen Funktionscode für jedes Skript bereitstellen.
- Zweitens betrachten Sie den Code als Ganzes und probieren ihn aus.
- Zum Schluss gehen wir das Estately-Skript Schritt für Schritt durch. Da beide Skripte eine ähnliche Struktur aufweisen, wird das Verständnis des einen das Verständnis des anderen deutlich erleichtern.
1. Wie man Estately-Daten extrahiert
Was es macht:
- Besucht die Immobilienangebote von Estately in Cape Coral
- Auszüge aus Preis, Betten, Bädern, Quadratmeterzahl und Adresse
- Speichert alles in Excel
Diese Funktion hinzufügen:
1 | // Vergessen Sie nicht, die oben stehende gemeinsame Logik hinzuzufügen. |
Öffnen Sie nun Ihr Terminal und führen Sie folgenden Befehl aus: node estately.jsund sehen Sie sich die Ergebnisse an:

Das Ergebnis:

2. Wie man Remax-Reste abkratzt
Was es macht:
- Durchsucht die Mietangebote von Re/Max in Los Angeles
- Auszüge aus Preis, Betten, Bädern, Quadratmeterzahl und Adresse
- Sortiert nach Preis und speichert in Excel
Diese Funktion hinzufügen:
1 | // Vergessen Sie nicht, die oben stehende Shared-Logik hinzuzufügen. |
Öffnen Sie nun Ihr Terminal und führen Sie folgenden Befehl aus: node remax.jsund sehen Sie sich die Ergebnisse an:

Die Ergebnisse:

Schritt-für-Schritt-Erklärung für das Estately-Skript
1. Erforderliche Bibliotheken importieren
- Cheerio: Analysiert und extrahiert Daten aus HTML (ähnlich wie jQuery).
- exceljs: Hilft beim Erstellen und Speichern von Excel-Dateien.
- CrawlingAPI: Stammt von Crawlbase zum Abrufen/Rendern von Seiten (insbesondere dynamischen Seiten).
1 | const tschüss = erfordern("Tschüs"); |
2. Starten Sie eine asynchrone IIFE.
- Ein sofort aufgerufener Funktionsausdruck (IIFE) wird verwendet, um asynchronen Code sofort auszuführen.
trymit einemcatchBehandelt alle Laufzeitfehler.
1 | (async () => { |
3. Einrichten Crawlbase API und Abrufen der Webseite
- Initialisiert
CrawlingAPImit Ihrem API-Token. - Zielt auf die Immobilienangebote in Cape Coral, Florida auf Estately ab.
response.bodyenthält den HTML-Inhalt der Seite.
1 | const API = neu CrawlingAPI({ Zeichen: 'IHR TOKEN' }); |
4. HTML mit Cheerio laden
- Lädt HTML in Cheerio für die DOM-Durchquerung:
1 | const $ = Prost.Belastung(html); |
5. Immobiliendaten extrahieren
- Findet alle Eigentumskarten mithilfe von
div.result-item-details. - Für jede Karte:
- Extrahiert den Preis und entfernt anschließend $, ,, etc. zur Sortierung.
priceValue. - Erhält Betten, Bäder und Quadratmeter von
<ul>><li>Struktur. - Extrahiert die Adresse.
- Extrahiert den Preis und entfernt anschließend $, ,, etc. zur Sortierung.
- Verschiebt jedes strukturierte Eigenschaftsobjekt an die
propertiesArray.
1 | const Eigenschaften = []; |
6. Objekte nach Preis sortieren (aufsteigend)
- Sorgt dafür, dass günstigere Immobilien zuerst angezeigt werden.
1 | Eigenschaften.sortieren((a, b) => a.Preiswert - B.Preiswert); |
7. Erstellt eine Excel-Datei und fügt Daten hinzu.
- Initialisiert eine neue Excel-Arbeitsmappe und ein neues Arbeitsblatt:
1 | Eigenschaften.sortieren((a, b) => a.Preiswert - B.Preiswert); |
- Definiert Spaltenüberschriften und -breiten für die Excel-Datei:
1 | Blatt.Spalten = [ |
- Fügt jedes Eigenschaftsobjekt als neue Zeile hinzu:
1 | Eigenschaften.für jeden((p) => Blatt.Zeile hinzufügen(P)); |
8. Datei mit Zeitstempel speichern
- Formatiert den aktuellen Zeitstempel.
- Speichert die Datei unter einem eindeutigen Namen.
1 | const Zeitstempel = neu Datum().toISOString().ersetzen(/[:.]/G, '-'); |
9. Erfolgs- und Fehlerprotokollierung
- Erfolgsmeldung:
1 | trösten.Log(✅ Ausgelesen und gespeichert ${properties.length} Eigenschaften zu ${filePath}`); |
- Protokolliert alle Fehler, falls das Scraping fehlschlägt:
1 | Fang (Fehler) { |
Fazit
Das Sammeln von Immobiliendaten muss nicht mühsam sein. Mit einer Kombination aus Crawlbase Mit Cheerio und ExcelJS erhalten Sie einen einfachen, skalierbaren Workflow, der einfach funktioniert.
Statt sich gegen CAPTCHAs und Sperren verteidigen zu müssen, sollten Sie in der Lage sein, das zu entwickeln, was Sie wollen: wertorientierte Tools, intelligente Dashboards oder auch einfache Berichte.
Wenn Sie nach einer Möglichkeit suchen, Daten zuverlässig von komplexen, geschützten Websites zu extrahieren, Crawlbase ist das einzige Web-Scraping-Tool, das Sie jemals brauchen werden.











