Die richtigen Informationen zur richtigen Zeit zu haben, kann für Fachleute und ihre Kunden einen großen Unterschied machen. Im Immobilienbereich, wo Genauigkeit manchmal entscheidend sein kann, ist eine solche Plattform Apartments.com. Mit einer großen Anzahl von Immobilienangeboten, Markteinblicken und allen Details zur Nachbarschaft in seinen Datensätzen bietet Apartments.com wichtige Informationen, die für Wohnungssuchende, Verkäufer oder sogar Immobilienmakler nützlich sein können, die Daten über Kunden benötigen. Allein in den letzten drei Monaten hatte Apartments.com ungefähr 48.7 Millionen Besuche, was seine Popularität und seinen Nutzen in der Branche unterstreicht.

Monatliche Besucher von Apartments.com

Bildquelle

In diesem Blog zeigen wir Ihnen, wie Sie Apartments.com mit JavaScript scrapen und die Crawlbase Crawling API. Sie erfahren, wie Sie wichtige Immobiliendaten extrahieren können, wie Eigentumstitel, Info, Preis, Lage, Ausstattung, Größe und vieles mehr ohne auf irgendwelche Blockaden oder Einschränkungen zu stoßen.

Inhaltsverzeichnis

Schritt 1: Einrichten der erforderlichen Tools für den benutzerdefinierten Apartments.com Scraper

Schritt 2: Einrichten des Projekts

Schritt 3: HTML-Daten von Apartments.com extrahieren

Schritt 4: Scrapen Sie Apartments.com im JSON-Format

Zusammenfassung

Häufig gestellte Fragen

Schritt 1: Einrichten der erforderlichen Tools für den benutzerdefinierten Apartments.com Scraper

Bevor wir mit dem Programmieren beginnen, richten wir unsere Umgebung mit den erforderlichen Tools ein. Folgendes benötigen Sie für den Anfang:

Mit Node.js können Sie JavaScript lokal ausführen, was für die Ausführung unseres Web Scraping-Skripts unerlässlich ist. Sie können Node.js von der offiziellen Website herunterladen. Da unser Projekt stark auf JavaScript basiert, ist es wichtig, grundlegende Konzepte wie Variablen, Funktionen, Schleifen und grundlegende DOM-Manipulation zu verstehen. Wenn Sie neu bei JavaScript sind, können Ressourcen wie Mozilla Developer Network (MDN) oder W3Schools hilfreich sein.

Später in diesem Tutorial verwenden wir die Crawlbase Crawling API um effektives Web Scraping durchzuführen. Ihr API-Token authentifiziert Anfragen und ermöglicht die Crawling APIs Funktionen. Erhalten Sie Ihr Token durch ein Profil erstellen auf der Crawlbase-Website und Zugriff auf Ihre API-Tokens von der Abschnitt „Kontodokumentation“.

Voraussetzungen für den benutzerdefinierten Apartments.com Scraper

Schritt 2: Einrichten des Projekts

So richten Sie Ihr Projekt zum Scraping von Apartments.com-Daten ein:

Einen neuen Projektordner erstellen:
Öffnen Sie Ihr Terminal und geben Sie ein mkdir apartment-scraper um einen neuen Ordner für Ihr Projekt zu erstellen.

1
mkdir Wohnungsschaber

Navigieren Sie zum Projektordner:
Enter cd apartment-scraper , um in den neu erstellten Ordner zu verschieben.

1
CD-Wohnungskratzer

Erstellen Sie eine JavaScript-Datei:
Typ touch scraper.js um eine neue JavaScript-Datei mit dem Namen scraper.js in Ihrem Projektordner zu erstellen.

1
Berühren Sie Scraper.js

Fügen Sie das Crawlbase-Paket hinzu:
Installieren Sie die Crawlbase Node-Bibliothek durch Ausführen npm install crawlbase in Ihrem Terminal. Diese Bibliothek hilft bei der Verbindung mit der Crawlbase Crawling API zum Scraping von Apartments.com-Daten.

1
npm installiere Crawlbase

Fs installieren, Cheerio:
Installieren Sie die notwendigen Module mit npm install fs cheerio. Diese Module unterstützen Dateisysteminteraktionen, HTML-Parsing und JSON-zu-CSV-Konvertierung für Ihr Apartments.com-Scraper-Projekt.

1
npm installiere fs, Cheerio

Nachdem Sie diese Schritte abgeschlossen haben, können Sie Ihren Apartments.com-Daten-Scraper erstellen!

Schritt 3: HTML-Daten von Apartments.com extrahieren

Apartments.com Startseite

Nachdem Sie nun Ihre API-Anmeldeinformationen und die Node.js-Bibliothek für Web Scraping installiert haben, beginnen wir mit der Einrichtung der Datei „scraper.js“. Wählen Sie die Apartments.com-Seite aus, von der Sie Daten scrapen möchten – konzentrieren wir uns auf die Hausvermietungsseite für dieses Beispiel. Verwenden Sie in der Datei „scraper.js“ Node.js zusammen mit der fs-Bibliothek, um Daten von der angegebenen Apartments.com-Seite zu extrahieren und in der Datei „response.html“ zu speichern. Stellen Sie sicher, dass Sie die Platzhalter-URL im Code durch die tatsächliche URL ersetzen, die Sie scrapen möchten.

JS-Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const { CrawlingAPI } = erfordern(„Crawlbase“),
fs = erfordern('fs'),
crawlbaseToken = 'IHR_CRAWLBASE_TOKEN',
API = neu CrawlingAPI({ Zeichen: crawlbaseToken }),
Wohnungsseiten-URL = „https://www.apartments.com/2630-n-hamlin-ave-chicago-il/kvl7tm9/“;

api.bekommen(Wohnungsseiten-URL).dann(HandleCrawlResponse).Fang(CrawlError behandeln);

Funktion handleCrawlResponse(Antwort) {
if (Antwort.Statuscode === 200) {
fs.SchreibeFileSync('antwort.html', Antwort.Körper);
trösten.Log(„HTML in response.html gespeichert“);
}
}

Funktion handleCrawlError(Fehler) {
trösten.Fehler(Fehler);
}

Der bereitgestellte Codeausschnitt verwendet die Crawlbase-Bibliothek, um HTML-Inhalte aus einer Apartments.com-Webseite zu extrahieren. Das Skript beginnt mit der Erstellung eines Crawling API Instanz mit einem angegebenen Token und sendet dann eine GET-Anfrage an die Apartments.com-Seite. Wenn die Antwort mit einem Statuscode von 200 erfolgreich ist, speichert es den HTML-Inhalt in einer Datei mit dem Namen „response.html“. Wenn während des Crawling-Prozesses Fehler auftreten, protokolliert das Skript die Fehlermeldung in der Konsole.

HTML-Ausgabe:

HTML-Scrapbooking von Apartments.com

Schritt 4: Scrapen Sie Apartments.com im JSON-Format

In diesem Abschnitt erfahren Sie, wie Sie wertvolle Daten von einer Apartments.com-Webseite extrahieren. Zu den Daten, die wir extrahieren möchten, gehören Immobilientitel, Beschreibung, Preis, Lage, Ausstattung, Größe und mehr. Um dies zu erreichen, erstellen wir einen Apartments.com-Scraper mit zwei Bibliotheken: cheerio, das häufig für Web Scraping verwendet wird, und fs, das bei Dateioperationen hilft. Das Skript analysiert das HTML der Apartments.com-Seite, extrahiert die gewünschten Details und speichert sie in einem JSON-Array.

JS-Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
const fs = erfordern('fs');
const tschüss = erfordern("Tschüs");

// HTML-Datei lesen
const html = fs.lesenFileSync('antwort.html', 'utf-8');

// HTML-Inhalte in Cheerio laden
const $ = Prost.Belastung(html);

// Extrahieren Sie Eigenschaftsdetails mit Cheerio-Selektoren
const Eigenschaftsdetails = {};

// Eigenschaftsnamen abrufen
Eigenschaftendetails.Name = $('#Eigenschaftsname').Text().trimmen();

// Monatliche Miete erhalten
Eigenschaftendetails.sauber = $(„.rentInfoDetail“).eq(0).Text().trimmen();

// Anzahl der Schlafzimmer ermitteln
Eigenschaftendetails.Schlafzimmer = $(„.rentInfoDetail“).eq(1).Text().trimmen();

// Anzahl der Badezimmer ermitteln
Eigenschaftendetails.Badezimmer = $(„.rentInfoDetail“).eq(2).Text().trimmen();

// Größe der Eigenschaft abrufen
Eigenschaftendetails.Größe = $(„.rentInfoDetail“).eq(3).Text().trimmen();

// Leasingdetails abrufen und in strukturierte Felder analysieren
const leaseDetailsText = $('.detailsTextWrapper').Text().trimmen();
const leaseDetailsParts = leaseDetailsText.gespalten(',').Karte((Teil) => Teil.trimmen());
const leaseDetails = {};
Mietvertragsdetails.Mietdauer = leaseDetailsParts.gefunden((Teil) => Teil.toLowerCase().Dazu gehören('Monatsmietvertrag')) || '';
Mietvertragsdetails.AnzahlungBetrag = leaseDetailsParts.gefunden((Teil) => Teil.toLowerCase().Dazu gehören('Kaution')) || '';
Mietvertragsdetails.Verfügbarkeit = leaseDetailsParts.gefunden((Teil) => Teil.toLowerCase().Dazu gehören('verfügbar')) || '';
Eigenschaftendetails.MietvertragDetails = Mietvertragsdetails;

// Standort der Immobilie (Adresse) extrahieren
const EigenschaftsAdresselement = $(„.Eigenschaftsadresse“);
if (EigenschaftAddressElement.Länge > 0) {
const Adresskomponenten = EigenschaftsAdresselement
.gefunden('Spanne')
.Karte((Index, Element) => {
Rückkehr $(Element).Text().trimmen();
})
.bekommen();
const Standort = Adresskomponenten.join(',');
Eigenschaftendetails.Standort = Standort;
}

// Ausstattungsmerkmale des Hauses extrahieren (Annehmlichkeiten)
const Abschnitt "Annehmlichkeiten" = $(„#Abschnitt der Annehmlichkeiten“);
if (Abschnitt „Annehmlichkeiten“).Länge > 0) {
const Hausmerkmale = [];
Abschnitt „Annehmlichkeiten“.gefunden('.combinedAmenitiesList .specInfo span').jeder((Index, Element) => {
const Funktion = $(Element).Text().trimmen();
Hausmerkmale.drücken(Besonderheit);
});
Eigenschaftendetails.Hausmerkmale = Hausmerkmale;
}

// Eigenschaftsbeschreibung extrahieren
const Beschreibungsabschnitt = $('#Beschreibungsabschnitt');
if (Beschreibungsabschnitt.Länge > 0) {
const BeschreibungText = BeschreibungAbschnitt.gefunden('p:Erster-des-Typs').Text().trimmen();
// Ersetze Zeilenumbruchzeichen (\n) durch Leerzeichen
Eigenschaftendetails.Beschreibung = Beschreibungstext.ersetzen(/\n/g, '');
}

// PropertyDetails-Objekt in JSON-Format konvertieren
const propertyDetailsJSON = JSON.stringifizieren(Eigenschaftsdetails, null, 2);

// Die JSON-Daten an das Terminal ausgeben
trösten.Log(EigenschaftDetailsJSON);

Der bereitgestellte JavaScript-Code erstellt einen benutzerdefinierten Apartments.com-Scraper, der Cheerio verwendet, um Immobiliendetails aus einer HTML-Datei zu extrahieren. Er analysiert die Datei response.html, um Daten wie Name der Immobilie, Monatsmiete, Schlafzimmer, Badezimmer, Größe, Mietvertragsdetails (Dauer, Kaution, Verfügbarkeit), Lage (Adresse), Hausmerkmale (Annehmlichkeiten) und Beschreibung. Der Code nutzt Cheerio-Selektoren, um durch die HTML-Struktur zu navigieren, bestimmte Elemente und Textinhalte zu extrahieren und die extrahierten Daten in ein strukturiertes JSON-Objekt zu formatieren.

JSON-Ausgabe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Name": „2630 N Hamlin Avenue“,
"mieten": "$ 2,350",
"Schlafzimmer": "2 Schlafzimmer",
"Badezimmer": "1 ba",
"Größe": „1,000 Quadratfuß“,
"Mietvertragsdetails": {
"Mietdauer": „12-Monats-Mietvertrag“,
"Einzahlungsbetrag": "350 Kaution",
"Verfügbarkeit": "Jetzt verfügbar"
},
"Lage": „Adresse der Immobilie: 2630 N Hamlin Ave, Chicago, IL, 60647“,
"Hausmerkmale": ["Klimaanlage", "Geschirrspüler", "Keller", "Wäschereieinrichtungen"],
„Beschreibung“: "Charmantes 2-Schlafzimmer-Haus im lebhaften Logan Square – kürzlich renoviert Entdecken Sie die Mischung aus modernem Wohnen und Nachbarschafts-Charme in 2630 N Hamlin Ave. Diese kürzlich renovierte Wohnung im Erdgeschoss eines klassischen Chicagoer 2-Wohnungsbaus bietet 1,000 Quadratfuß zeitgenössisches Design mit neuen Parkettböden und modernen Geräten. Ausstattung: 2 einladende Schlafzimmer und 1 stilvolles Badezimmer Neue Parkettböden im gesamten Gebäude für einen eleganten Look Moderne Geräte für ein besseres kulinarisches Erlebnis Geräumige Garage für 2 Autos – zusätzliche 150 $/Monat pro Auto Privater Hinterhof – Ihr urbanes Refugium Bequeme Wäscherei mit Einrichtungen im Keller Kleine Haustiere erlaubt Miete: 2350 $/Monat (einschließlich Nebenkosten: Gas, Wasser) Nebenkostenschwelle: Nebenkosten sind bis zu einer Schwelle enthalten Wenn der Verbrauch diese Grenze überschreitet, zahlt der Mieter die Differenz über der angegebenen Schwelle Erstklassige Lage: Lebensmittelgeschäft: Tony's Fresh Market für Ihre täglichen Bedürfnisse, nur einen kurzen Spaziergang entfernt. Transit: Bushaltestelle Diversey & Hamlin innerhalb von 3 Minuten und Healy Metra Station 12 Minuten zu Fuß. Blaue Linie: Die Logan Square Station, eine kurze 2-minütige Fahrt, verbindet Sie mit der Innenstadt von Chicago und darüber hinaus. Essen: Genießen Sie lokale Aromen im Omarcito's Latin Cafe, L'Patron und The Little Pickle. Nachtleben: Genießen Sie abends einen Spieleabend im Surge Billiards. Dieser einladende Raum steht bereit, damit Sie ihn zu Ihrem eigenen machen können. Kontaktieren Sie uns, um eine Besichtigung zu vereinbaren und Ihr neues Kapitel in Logan Square zu beginnen!"
}

Zusammenfassung

Dieser Leitfaden bietet Ressourcen und Techniken zum Scraping von Daten von Apartments.com mithilfe von JavaScript und Crawlbase Crawling APISie können verschiedene Arten von Daten sammeln, wie zum Beispiel Immobilientitel, Beschreibung, Preis, Lage, Ausstattung, Größe und mehr. Egal, ob Sie neu im Web Scraping sind oder bereits über einige Erfahrung verfügen, diese Einblicke werden Ihnen beim Einstieg helfen. Wenn Sie daran interessiert sind, Daten von anderen Websites zu scrapen, wie Zillow, Redfin, Trulia, oder auch Makler, wir stellen Ihnen auch zusätzliche Anleitungen zum Erkunden zur Verfügung.

Zusätzliche Anleitungen:

Wie Sie Craigslist durchsuchen

So scrapen Sie Websites mit ChatGPT

So scrapen Sie TikTok

Wikipedia in Python scrapen – Ultimatives Tutorial

So scrapen Sie Google News mit Smart Proxy

Häufig gestellte Fragen

Können Sie Apartments.com scrapen?

Apartments.com kann nach Immobiliendaten durchsucht werden mit Web-Scraping-Tools wie Crawlbase. Crawlbase ist nützlich, um Wohnungsangebote, Preise und Beschreibungen von Apartments.com abzurufen. Entwickler können die Funktionen von Crawlbase nutzen, um die Site-Struktur zu durchsuchen, HTTP-Anfragen zu senden und HTML zu analysieren, um bestimmte Objektdetails zu extrahieren. Es ist jedoch wichtig, die Servicebedingungen von Apartments.com einzuhalten und ethische Scraping-Praktiken anzuwenden. Verwenden Sie Crawlbase verantwortungsbewusst, um nützliche Informationen von Apartments.com für eine Vielzahl von Anwendungen abzurufen.

Ob das Scraping von Apartments.com legal ist, hängt von deren Nutzungsbedingungen ab. Im Allgemeinen ist das Scraping öffentlicher Daten wie Wohnungsangebote und Mietpreise in Ordnung, sofern Sie die Regeln befolgen und die Nutzungsbedingungen der Website nicht verletzen. Für das Scraping aus geschäftlichen Gründen oder in großem Umfang ist jedoch möglicherweise eine Genehmigung erforderlich. Lesen Sie immer die Nutzungsbedingungen von Apartments.com und ziehen Sie Rechtsberatung in Betracht, wenn Sie sich nicht sicher sind.

Welche Daten kann ich von Apartments.com scrapen?

Zu den Daten, die Sie von Apartments.com abrufen können, gehören Wohnungsangebote, Mietpreise, Immobilienmerkmale wie Anzahl der Schlafzimmer, Badezimmer, Quadratmeterzahl, Annehmlichkeiten wie Parkmöglichkeiten, Fitnesseinrichtungen; Standortdetails wie Nachbarschaft, Stadt und Staat, während die Kontaktinformationen aus Vermietern oder Hausverwaltern bestehen.

Wie gehe ich mit CAPTCHAs beim Scraping von Apartments.com um?

Der Umgang mit CAPTCHAs beim Scraping von Websites wie Apartments.com kann schwierig sein, aber mit den richtigen Tools ist es einfacher. Dienste wie Crawlbase's Crawling API Verwenden Sie intelligente Algorithmen und künstliche Intelligenz, um CAPTCHAs automatisch zu lösen. Das bedeutet, dass Ihr Scraper reibungslos weiterarbeiten kann, ohne dass Sie jedes CAPTCHA manuell lösen müssen. Mit dieser Automatisierung bleibt Ihr Scraping-Prozess effizient und produktiv, sodass Sie die gewünschten Daten erhalten, ohne bei CAPTCHAs hängen zu bleiben.

Wie verhindere ich, dass ich beim Scraping von Apartments.com blockiert werde?

Um zu vermeiden, dass Sie beim Scraping von Apartments.com blockiert werden, verwenden Sie Tools wie Crawlbase's Crawling API. Dieser Dienst hilft, Blockaden zu verhindern und CAPTCHAs umgehen automatisch mit modernster Technologie. Crawlbase bietet auch Proxy-Verwaltung und Geolokalisierungsfunktionen, die Anfragen auf verschiedene IP-Adressen und Standorte verteilen.

Wie formatiere und speichere ich die von Apartments.com extrahierten Daten?

Sobald Sie Daten von Apartments.com extrahiert haben, können Sie diese mithilfe von Programmiersprachen wie JavaScript in CSV- oder JSON-Formate organisieren. Speichern Sie diese formatierten Daten in Datenbanken wie MySQL oder PostgreSQL, um bequem darauf zugreifen und sie analysieren zu können. Diese Methode gewährleistet eine effiziente Datenverwaltung und -abfrage für die zukünftige Verwendung.