Der vollständige Leitfaden zum Web Scraping von Immobiliendaten
Robert Munceanu am 14. Juli 2021

Der Immobilienmarkt entwickelt sich ständig weiter, und mit ihm versuchen Immobilienmakler und Unternehmen, neue Lösungen zu finden, um zu erkennen, was die Zukunft bringt. Auch wenn sich der Immobilienmarkt im Allgemeinen nicht über Nacht drastisch verändert, so wird er doch von viel zu vielen Faktoren beeinflusst, als dass eine Person oder sogar eine Organisation den Überblick behalten könnte.
Werden die Preise also steigen oder sinken? Welche Stadtteile sind besonders gefragt? Gibt es Immobilien, die nur eine Renovierung brauchen, um ihren Wert in die Höhe zu treiben? Dies sind nur einige der Fragen, die sich Immobilienmakler häufig stellen.
Um diese Fragen zu beantworten, benötigt man eine Vielzahl von Forschungsdaten zum Vergleich, und die manuelle Erfassung einer solchen Menge von Informationen wäre ein aussichtsloses Unterfangen. Hier kommt Web Scraping ins Spiel: Es sammelt und strukturiert Daten so schnell, wie man sagen kann:

Wie wir inzwischen alle wissen, ist Web Scraping das Kraftwerk der Datenextraktion! Wenn Sie also mehr darüber wissen möchten, warum jemand Immobiliendaten aus dem Internet auslesen möchte und wie man es richtig macht, lassen Sie uns unsere Reise gemeinsam fortsetzen. Wir haben sowohl eine DIY-Lösung als auch eine Schritt-für-Schritt-Anleitung vorbereitet, wie WebScrapingAPI dies tun kann.
Warum Sie Immobiliendaten scrapen sollten
Durch das Scannen des Internets wird sichergestellt, dass die gewonnenen Informationen über Immobilien präzise, glaubwürdig und aktuell sind. Auf diese Weise kann man vorhersagen, ob der Immobilienmarkt in nächster Zeit in die Höhe schießen wird oder in welcher Preisspanne die eigene Immobilie konkurrieren wird.
Für Unternehmen sind Webdaten wertvoll, da sie zu besseren Entscheidungen, einer besseren Preisgestaltung und einer größeren Gewinnspanne führen. Der Haken an der Sache ist jedoch, dass jede Information so frisch wie möglich sein muss, weshalb Web-Scraping die naheliegende Lösung ist.
Die am häufigsten extrahierten Arten von Immobiliendaten sind die folgenden:
- Art der Immobilie
- Verkaufspreis
- Standort
- Größe
- Annehmlichkeiten
- Monatlicher Mietpreis
- Parkplätze
- Immobilienmakler
Die oben aufgeführten Informationen können über den Erfolg eines Immobilienbüros entscheiden. Sie machen einen großen Unterschied in der Kommunikation, der Strategie und der Effizienz aus, aber der größte Vorteil ist, wie gut die Makler ihre Immobilien und ihren Markt kennenlernen. Danach ist es nur noch eine Frage der Suche nach dem richtigen Kunden.
Werfen wir einen Blick auf einige Szenarien, die den Wert von Web Scraping verdeutlichen:
Immobilienagenturen
- Entscheidungen treffen: Risiken einzugehen ist Teil des Jobs, aber das bedeutet nicht, dass man es blindlings tun muss. Recherchen vor dem Kauf oder Verkauf von etwas sind für die Arbeit unerlässlich, und mehr Informationen bedeuten bessere Angebote.
- Den Markt vorhersagen: Es ist wichtig zu wissen, wann man Immobilien kaufen und verkaufen sollte, um das beste und profitabelste Ergebnis zu erzielen. Einige Immobilienarten erfreuen sich großer Beliebtheit, während andere ihren Glanz verlieren. Einige Gebiete florieren, während andere stagnieren. Zu wissen, was auf uns zukommt, ist der Schlüssel zu einem langen Bestehen des Unternehmens.
Normale Leute
Beim Web Scraping geht es nicht nur darum, Unternehmen zu helfen. Was es so beliebt macht, ist, dass es für eine einzelne Person so einfach zu bedienen ist. Sicher, man braucht ein gewisses Maß an Informatikkenntnissen, aber es gibt jede Menge Anleitungen, die dabei helfen. Und das hier ist eine von ihnen!
- Kauf und Verkauf: Vor dem Kauf oder Verkauf müssen Sie den Wert der Immobilie genau ermitteln. Es wäre doch schade, wenn Sie Ihr Elternhaus verkaufen und es eine Woche später auf einer Immobilien-Website zum doppelten Preis sehen, oder?
- Investieren: Wenn Sie in Immobilien investieren möchten, entweder indem Sie sie zu einem geringen Preis kaufen, um sie später mit Gewinn zu verkaufen, oder indem Sie die Immobilie einfach vermieten, sollten Sie wissen, wie schnell Sie die Gewinnschwelle erreichen und welche Erträge Sie erwarten können.
Ok, genug von den Anwendungsfällen. Schauen wir uns etwas Code an!
Nehmen wir an, wir sind auf der Suche nach einer neuen Wohnung in New York City. Wir möchten eine Immobilie mit mindestens zwei Schlafzimmern und natürlich einem Bad kaufen. Also beginnen wir unsere Suche auf Realtor, extrahieren Daten von dort und vergleichen sie, um das beste Angebot zu finden.
Es gibt verschiedene Möglichkeiten, Inhalte von Webseiten zu extrahieren. In diesem Artikel werden zwei Methoden erläutert: eine, bei der wir unseren Web Scraper von Grund auf neu erstellen, und eine, bei der wir ein bereits vorhandenes Tool verwenden.
Lassen Sie uns zunächst versuchen, es selbst zu tun. Der Code wird sich später als hilfreich erweisen, wenn wir ein professionelles Web-Scraping-Tool verwenden.
Erstellung eines Web Scrapers zur Extraktion von Immobiliendaten
Ich habe mich für die Programmiersprache Python entschieden, weil sie beim Web Scraping so beliebt ist. Wir haben ein allgemeines Tutorial für die Extraktion von Webdaten in Python, das Sie sich ansehen sollten!
Prüfen Sie den Code der Website
Die Daten, die wir extrahieren müssen, befinden sich in den verschachtelten Tags der besagten Webseite. Bevor wir mit dem Scraping beginnen, müssen wir sie erst einmal finden. Klicken Sie dazu einfach mit der rechten Maustaste auf das Element und wählen Sie "Untersuchen".

Es öffnet sich ein "Browser Inspector Box"-Fenster, etwa so:

In diesem Fenster navigieren wir zu den Tags und Klassen, unter denen unsere wesentlichen Daten zu finden sind. Das mag anfangs etwas einschüchternd wirken, aber mit etwas Erfahrung wird es immer einfacher!
Suchen Sie die Daten, die Sie extrahieren möchten
We can see that everything we need to extract is within the <li> tag with the class ‘component_property-card’. If we go even deeper in the tag, we observe that the data referring to the number of beds and bathrooms are under the attribute ‘data-label’ with the values ‘pc-meta-beds’ and ‘pc-beta-baths’, respectively. Knowing this, we can proceed with writing our code!
Bereiten Sie den Arbeitsbereich vor
Wie bereits erwähnt, werden wir Python als Programmiersprache verwenden, die Sie herunterladen und installieren müssen.
Sie können jede IDE verwenden, mit der Sie sich wohlfühlen, aber ich empfehle PyCharm zu verwenden.
Nachdem Sie ein neues Projekt erstellt haben, können Sie Ihre Arbeit mit diesen Bibliotheken erleichtern:
- Selenium: Wird für Web-Tests und die Automatisierung von Browser-Aktivitäten verwendet.
- BeautifulSoup: Dient zum Parsen von HTML- und XML-Dokumenten.
- Pandas: Wird für die Datenmanipulation verwendet. Die extrahierten Daten werden in einem strukturierten Format gespeichert.
Die Installation innerhalb des Projekts ist recht einfach. Verwenden Sie einfach diese Befehlszeile im Terminal des Projekts: python -m pip install selenium beautifulsoup4 pandas
Schreiben Sie den Code
Beginnen wir mit dem Importieren der Bibliotheken, die wir zuvor installiert haben:
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
Um die Daten von der Website zu extrahieren, müssen wir sie laden, indem wir den Webdriver für die Verwendung des Chrome-Browsers konfigurieren. Dazu müssen wir einfach den Pfad angeben, in dem sich der Chromedriver befindet. Vergessen Sie nicht, den Namen der ausführbaren Datei am Ende hinzuzufügen - nicht nur den Speicherort!
driver = webdriver.Chrome('ihr/pfad/hier/chromedriver')
Neben der Anzahl der Betten und Bäder können wir auch die Adresse, den Preis und - warum nicht - die Größe der Immobilie in Erfahrung bringen. Je mehr Informationen wir haben, desto einfacher wird es, sich für ein neues Zuhause zu entscheiden.
Deklarieren Sie die Variablen und geben Sie die URL der zu erfassenden Website an.
Preise = []
Betten = []
Bäder = []
Größen = []
Adressen = []
driver.get('https://www.realtor.com/realestateandhomes-search/New-York_NY')
Wir müssen die Daten aus der Website extrahieren, die sich, wie bereits erläutert, in den verschachtelten Tags befinden. Suchen Sie die Tags mit den oben genannten Attributen und speichern Sie die Daten in den oben angegebenen Variablen. Denken Sie daran, dass wir nur Objekte mit mindestens zwei Betten und einem Badezimmer speichern wollen!
content = driver.page_source
soup = BeautifulSoup(content, features='html.parser')
for element in soup.findAll('li', attrs={'class': 'component_property-card'}):
price = element.find('span', attrs={'data-label': 'pc-price'})
bed = element.find('li', attrs={'data-label': 'pc-meta-beds'})
bath = element.find('li', attrs={'data-label': 'pc-meta-baths'})
size = element.find('li', attrs={'data-label': 'pc-meta-sqft'})
address = element.find('div', attrs={'data-label': 'pc-address'})
if bed and bath:
nr_beds = bed.find('span', attrs={'data-label': 'meta-value'})
nr_baths = bath.find('span', attrs={'data-label': 'meta-value'})
if nr_beds and float(nr_beds.text) >= 2 and nr_baths and float(nr_baths.text) >= 1:
beds.append(nr_beds.text)
baths.append(nr_baths.text)
if price and price.text:
prices.append(price.text)
else:
prices.append('No display data')
if size and size.text:
sizes.append(size.text)
else:
sizes.append('No display data')
if address and address.text:
addresses.append(address.text)
else:
addresses.append('No display data')
Großartig! Wir haben alle Informationen, die wir brauchen, aber wo sollen wir sie speichern? Hier kommt die Pandas-Bibliothek ins Spiel, die uns hilft, die Daten in einer csv-Datei zu strukturieren, die wir in Zukunft verwenden können.
df = pd.DataFrame({'Address': addresses, 'Price': prices, 'Beds': beds, 'Baths': baths, 'Sizes': sizes})
df.to_csv('listings.csv', index=False, encoding='utf-8')
Wenn wir den Code ausführen, wird eine Datei mit dem Namen 'listings.csv' erstellt, in der sich unsere wertvollen Daten befinden!
Wir haben es geschafft! Wir haben unser eigenes Web-Scraping-Tool erstellt! Jetzt wollen wir gleich loslegen und sehen, welche Schritte wir befolgen müssen und welche Codezeilen wir ändern müssen, um ein Scraping-Tool zu verwenden.
Verwendung einer Web Scraping API
Für dieses Szenario werden wir natürlich WebScrapingAPI verwenden.
Erstellen Sie ein kostenloses WebScrapingAPI-Konto
Um WebScrapingAPI nutzen zu können, müssen Sie ein Konto erstellen. Keine Sorge, die ersten 5000 API-Aufrufe sind kostenlos, und Sie müssen keine persönlichen Daten, wie z. B. Kreditkarteninformationen, angeben. Nachdem Sie Ihr Konto erfolgreich erstellt und Ihre E-Mail validiert haben, können wir zum nächsten Schritt übergehen.
API-Schlüssel

Um WebScrapingAPI zu nutzen, müssen Sie sich über den privaten API-Schlüssel authentifizieren, den Sie auf Ihrem Konto-Dashboard finden. Beachten Sie, dass Sie diesen Schlüssel mit niemandem teilen dürfen, und wenn Sie den Verdacht haben, dass er kompromittiert wurde, können Sie den Schlüssel jederzeit zurücksetzen, indem Sie auf die Schaltfläche "API-Schlüssel zurücksetzen" klicken.
Ändern Sie den Code
Perfekt! Jetzt, da Sie den API-Schlüssel haben, können Sie die notwendigen Änderungen vornehmen.
Wir werden keinen Webdriver mehr verwenden. Stattdessen wird die Bibliothek "requests" die Anfrage an WebScrapingAPI senden und den HTML-Code der Website als Antwort abrufen.
import requests
from bs4 import BeautifulSoup
import pandas as pd
Als Nächstes müssen wir einige Parameter für die Anfrage vorbereiten: die URL der Website, von der wir Daten extrahieren möchten (Immobilienmakler) und unseren API-Schlüssel.
url = "https://api.webscrapingapi.com/v1"
params = {
"api_key": "XXXXXXX",
"url": "https://www.realtor.com/realestateandhomes-search/New-York_NY"
}
response = requests.request("GET", url, params=params)
Vergessen Sie nicht, den Inhalt zu ändern, den beautifulsoup parst. Anstelle der Quelle vom Chromedriver verwenden wir die von der API erhaltene Antwort.
Inhalt = Antwort.Text
Ab diesem Zeitpunkt können Sie denselben Code wie im vorherigen Szenario verwenden. Die Daten werden weiterhin in einer CVS-Datei namens "listings.csv" gespeichert.
Alles erledigt!
Und das war's auch schon: Sie können den Code ausführen. WebScrapingAPI erledigt die Arbeit, und Sie erhalten die notwendigen Daten, um das perfekte Haus zu finden. Aber Sie fragen sich vielleicht: "Was ist der Unterschied zwischen der WebScrapingAPI und dem selbst entwickelten Scraper?". Nun, lassen Sie mich das erklären.
DIY vs. Vorgefertigt
Einer der wichtigsten Vorteile von WebScrapingAPI sind seine Proxys. Der Dienst verfügt über einen riesigen, rotierenden Proxy-Pool, der die Anonymität seiner Nutzer beim Surfen im Internet gewährleistet.
Diese Funktion ist auch hilfreich, wenn jemand eine Website massenhaft scrapen möchte. Wenn Sie in kurzer Zeit mehrere Anfragen an eine Website stellen, wird Ihre IP-Adresse mit Sicherheit blockiert, da es sich um einen Betrugsversuch oder einen Bot mit schlechten Absichten handelt.
Die Verwendung eines rotierenden Proxy-Pools lässt die Website glauben, dass mehrere Benutzer mit ihr interagieren, so dass Sie unentdeckt bleiben und den ganzen Tag lang scrapen können.
Beim Scraping im Web können noch viele weitere Hindernisse auftreten, z. B. CAPTCHAs oder Browser-Fingerprinting. Wie zu erwarten, haben wir WebScrapingAPI entwickelt, um all diese Hürden zu umgehen und die Datenextraktion für Sie so einfach wie möglich zu gestalten. Wenn Sie mehr über dieses Thema erfahren möchten, lesen Sie unseren Artikel über die häufigsten Probleme, auf die Web-Scraper stoßen.
Ein Werkzeug, viele Anwendungsfälle
Wir sind uns alle einig, dass Scraping im Web eine hervorragende Lösung für die Immobilienbranche ist, aber Sie können es auch für andere Zwecke nutzen. Hier sind nur einige Beispiele: Überwachung Ihrer Konkurrenz, Vergleich von Produktpreisen und Training von Algorithmen für maschinelles Lernen.
Ich könnte noch weitermachen, aber das ist bereits ein ganz neues Thema. Ich will diesen Artikel nicht ewig in die Länge ziehen, also empfehle ich Ihnen, sich diese sieben Anwendungsfälle für Web-Scraping-Tools anzusehen.
Ein Web-Scraping-Tool in Ihrer Freizeit zu erstellen, klingt ziemlich toll, aber es gibt viele Dinge zu beachten, die eine beträchtliche Menge an Entwicklungszeit verschlingen werden. Hier finden Sie eine ausführliche Diskussion über DIY vs. vorgefertigte Web Scraping Tools.
Wenn es darum geht, ein paar Webseiten zu scrapen, kann es eine schnelle Lösung sein, das Tool selbst zu bauen. Doch für eine professionelle Arbeit braucht man ein professionelles Tool, idealerweise eine API, WebScrapingAPI. Habe ich schon die kostenlose Testversion erwähnt?
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

Entdecken Sie die Komplexität des Scrapens von Amazon-Produktdaten mit unserem ausführlichen Leitfaden. Von Best Practices und Tools wie der Amazon Scraper API bis hin zu rechtlichen Aspekten erfahren Sie, wie Sie Herausforderungen meistern, CAPTCHAs umgehen und effizient wertvolle Erkenntnisse gewinnen.


Lernen Sie, wie Sie mit Scrapy und Splash dynamische JavaScript-gerenderte Websites scrapen können. Von der Installation über das Schreiben eines Spiders bis hin zum Umgang mit Seitenumbrüchen und der Verwaltung von Splash-Antworten bietet dieser umfassende Leitfaden Schritt-für-Schritt-Anleitungen für Anfänger und Experten gleichermaßen.


Lernen Sie, wie man JavaScript-Tabellen mit Python ausliest. Extrahieren Sie Daten aus Websites, speichern und manipulieren Sie sie mit Pandas. Verbessern Sie die Effizienz und Zuverlässigkeit des Scraping-Prozesses.
