Heim BlogWeb-Scraping So kratzen Sie Redfin-Immobiliendaten

So kratzen Sie Redfin-Immobiliendaten

von Kadek

Redfin ist eine Online-Plattform, die Immobilieninformationen bereitstellt, darunter Angebote zum Verkauf und zur Miete, Marktdaten und Suchtools. Ziel ist es, Kunden den Kauf, Verkauf oder die Miete einer Immobilie zu erleichtern, indem ihnen der Zugriff auf eine umfangreiche Immobiliendatenbank ermöglicht wird.

Web Scraping kann den Prozess der konsistenten Datenerfassung von Redfin automatisieren. Dies ermöglicht die Analyse von Trends, die Bewertung des Immobilienwerts und Marktprognosen. In diesem Artikel diskutieren und demonstrieren wir anhand von Beispielen, wie Sie mit verschiedenen Methoden Daten aus Redfin extrahieren, einschließlich der Erstellung Ihres eigenen Python-Scrapers, der Verwendung von No-Code-Scrapern und der Verwendung der inoffiziellen Redfin-API. Jeder dieser Ansätze hat seine eigenen Vor- und Nachteile und die Wahl hängt von den spezifischen Bedürfnissen und Fähigkeiten des Benutzers ab.

Auswahl einer Schabemethode

Wie bereits erwähnt, gibt es mehrere Möglichkeiten, Daten von Redfin zu sammeln. Bevor wir uns mit den Besonderheiten jeder Methode befassen, werfen wir einen kurzen Überblick über die verfügbaren Optionen, die von den einfachsten und anfängerfreundlichsten bis hin zu den fortgeschritteneren reichen:

  1. Manuelles Schaben. Diese Methode ist kostenlos, aber zeitaufwändig und eignet sich nur zum Sammeln kleiner Datenmengen. Dabei geht es darum, relevante Seiten manuell zu durchsuchen und die gewünschten Informationen zu extrahieren.
  2. No-Code-Scraper. Diese Dienste stellen Tools für die Datenerfassung ohne Programmierkenntnisse bereit. Sie sind ideal für Benutzer, die die Daten lediglich benötigen, ohne sie in eine Anwendung zu integrieren. Geben Sie einfach die Parameter im Redfin No-Code-Scraper an und erhalten Sie den Datensatz.
  3. Browser-Automatisierungstools. Erweiterungen können verwendet werden, um Daten von Redfin zu sammeln. Im Gegensatz zu No-Code-Scrapern muss das Browserfenster jedoch während des Scraping-Vorgangs geöffnet sein und kann erst geschlossen werden, wenn der Scraping-Vorgang abgeschlossen ist.
  4. Redfin-API. Redfin verfügt nicht über eine offizielle API, daher müssen Sie inoffizielle Alternativen verwenden. Wir werden später Anweisungen und Codebeispiele bereitstellen.
  5. Erstellen Sie Ihren eigenen Schaber ist die aufwendigste Methode. Während die Verwendung der Redfin-API das Festlegen von Parametern und den Empfang gut strukturierter Datensätze erfordert, erfordert die Erstellung eines eigenen Scrapers die Handhabung von Captchas, Bot-Schutz und Proxys, um IP-Blockierung beim Scrapen großer Datenmengen zu verhindern.

Alle in Betracht gezogenen Optionen haben Vor- und Nachteile, daher sollte die Auswahl je nach Ihren Bedürfnissen getroffen werden. Kurz gesagt: Wenn Sie nur Daten von wenigen Einträgen benötigen, erfassen Sie diese einfach manuell. Wenn Sie Daten aus einer großen Anzahl von Einträgen sammeln müssen, aber keine Programmiererfahrung haben, ist der No-Code-Scraper von Redfin eine großartige Option. Und wenn Sie die Datenerfassung in Ihre Anwendung integrieren und sich nicht mit dem Datenabruf herumschlagen oder den Bot-Schutz von Redfin umgehen möchten, ist die Redfin-API genau das Richtige für Sie.

Wenn Sie jedoch selbst Daten sammeln möchten und über die Fähigkeiten und die Zeit verfügen, alle damit verbundenen Probleme zu lösen, dann erstellen Sie Ihren eigenen Redfin-Scraper in Python oder einer anderen Programmiersprache.

Methode 1: Scrapen von Daten aus Redfin ohne Code

No-Code-Web-Scraping-Tools sind Softwarelösungen, die es Benutzern ermöglichen, Daten von Websites zu extrahieren, ohne Code schreiben zu müssen. Sie bieten eine einfache und intuitive Benutzeroberfläche, über die Benutzer mit wenigen Klicks auf die benötigten Daten zugreifen können.

Da keine Programmierkenntnisse oder -kenntnisse erforderlich sind, kann jeder einen Redfin-No-Code-Scraper verwenden. Diese Methode ist auch eine der sichersten, da die Daten von Redfin nicht von Ihrem PC gesammelt werden, sondern von dem Dienst, der den No-Code-Scraper bereitstellt. Sie erhalten lediglich den fertigen Datensatz und schützen sich vor einer etwaigen Sperrung durch Redfin.

Schauen wir uns die Verwendung solcher Tools am Beispiel des No-Code-Scraper Redfin von HasData genauer an. Melden Sie sich dazu auf unserer Website an und gehen Sie zu Ihrem Konto.


Redfin No-Code-Schaber
Redfin No-Code-Schaber

Navigieren Sie zur Registerkarte „No-Code Scraper“ und suchen Sie den „Redfin Property Scraper“. Klicken Sie darauf, um zur Seite des Scrapers zu gelangen.


Redfin-Schaberstruktur
Redfin-Schaberstruktur

Um Daten zu extrahieren, füllen Sie alle Felder aus und klicken Sie auf die Schaltfläche „Run Scraper“. Schauen wir uns die No-Code-Scraper-Elemente genauer an:

  1. Begrenzung der Ergebniszeilen. Geben Sie die Anzahl der Einträge an, die Sie durchsuchen möchten.
  2. Postleitzahlen. Geben Sie die Postleitzahlen ein, aus denen Sie Daten extrahieren möchten. Sie können mehrere Postleitzahlen jeweils in einer neuen Zeile eingeben.
  3. Typ. Wählen Sie den Angebotstyp aus: „Zu verkaufen“, „Zu vermieten“ oder „Verkauft“.
  4. Führen Sie Scraper aus. Klicken Sie auf diese Schaltfläche, um den Scraping-Vorgang zu starten.
  5. Nachdem Sie den Scraper gestartet haben, sehen Sie im rechten Bereich den Fortschrittsbalken und die Scraping-Ergebnisse. Sobald Sie fertig sind, können Sie die Ergebnisse in einem der verfügbaren Formate herunterladen: CSV, JSON oder XLSX.

Als Ergebnis erhalten Sie eine Datei mit allen Daten, die aufgrund Ihrer Anfrage erhoben wurden. Das Ergebnis könnte beispielsweise so aussehen:


Redfin-Daten
Die resultierende Datei

Der Screenshot zeigt nur einige der Spalten, da es sich um eine große Datenmenge handelt. Hier ist ein Beispiel dafür, wie die Daten im JSON-Format aussehen würden:

{
    "properties": (
        {
            "id": "",
            "url": "",
            "area": ,
            "beds": ,
            "baths": ,
            "image": "",
            "price": ,
            "photos": (),
            "status": "",
            "address": {
                "city": "",
                "state": "",
                "street": "",
                "zipcode": ""
            },
            "homeType": "",
            "latitude": ,
            "agentName": "",
            "longitude": ,
            "yearBuilt": ,
            "brokerName": "",
            "propertyId": ,
            "description": "",
            "agentPhoneNumber": "",
            "brokerPhoneNumber": ""
        }
    )
}

Insgesamt kann die Verwendung von No-Code-Web-Scraping-Tools den Prozess der Datenerfassung von Websites erheblich rationalisieren und sie einem breiten Benutzerkreis zugänglich machen, ohne dass Programmierkenntnisse erforderlich sind.

Methode 2: Scrapen Sie Redfin-Eigenschaftsdaten mit Python

Lassen Sie uns vor dem Scrapen von Daten die spezifischen Daten untersuchen, die wir aus Redfin extrahieren können. Dazu navigieren wir zur Website und öffnen DevTools (F12 oder Rechtsklick und Inspizieren), um sofort die Selektoren für die Elemente zu identifizieren, an denen wir interessiert sind. Wir werden diese Informationen später benötigen. Sehen wir uns zunächst die Seite mit den Einträgen an.


Struktur der Heimkarte
Struktur der Heimkarte

Wie wir sehen können, befinden sich die Eigenschaften in Containern mit dem div-Tag und haben die Klasse HomeCardContainer. Das bedeutet, dass es ausreicht, alle Elemente mit diesem Tag und dieser Klasse abzurufen, um alle Anzeigen auf der Seite zu erhalten.

Schauen wir uns nun eine Immobilie genauer an. Da alle Elemente auf der Seite die gleiche Struktur haben, funktioniert das, was für ein Element funktioniert, auch für alle anderen.


Heimkartenblöcke
Heimkartenblöcke

Wie Sie sehen, werden die Daten in zwei Blöcken gespeichert. Der erste Block enthält die Bilder für das Inserat, während der zweite Block die Textdaten enthält, darunter Informationen zu Preis, Anzahl der Zimmer, Ausstattung, Adresse und mehr.

Beachten Sie die script -Tag, das alle diese Textdaten sauber strukturiert im JSON-Format enthält. Um diese Daten zu extrahieren, müssen Sie jedoch Bibliotheken verwenden, die Headless-Browser unterstützen, wie etwa Selenium, Pyppeteer oder Playwright.

Kommen wir nun zur Auflistungsseite selbst. Hier stehen weitere Informationen zur Verfügung, aber um diese durchsuchen zu können, müssen Sie alle diese Seiten durchsuchen. Ohne die Verwendung von Proxys und Captcha-Lösungsdiensten kann dies eine ziemliche Herausforderung sein, denn je mehr Anfragen Sie stellen, desto höher ist das Risiko, blockiert zu werden.


Redfin-Daten von der Immobilienseite
Redfin-Daten von der Immobilienseite

Zu den wichtigsten Informationen, die dieser Seite entnommen werden können, gehören:

  1. Bilder. Alle Bilder sind in einem einzigen Container enthalten. Normalerweise enthält jeder Eintrag mehrere Bilder.
  2. Grundlegende Informationen zum Eintrag. Dies ist identisch mit den Informationen, die auf der Listingseite selbst abgerufen werden können.
  3. Details der Immobilie. Zusätzliche Informationen zur Immobilie, einschließlich Baujahr, Beschreibung und mehr.
  4. Informationen zum Makler. Dieser Abschnitt enthält Details zum Listing-Agenten, einschließlich seiner Kontaktinformationen und einem Link zu seiner Profilseite.

Um alle diese Informationen abzurufen, müssen Sie entweder Selektoren oder XPath für jedes Element in allen Blöcken identifizieren oder die vorgefertigte Redfin-API verwenden, die vorformatierte Daten zurückgibt.

Einrichten Ihrer Entwicklungsumgebung

Nun richten wir die notwendigen Bibliotheken ein, um unseren eigenen Scraper zu erstellen. In diesem Artikel verwenden wir Python Version 3.12.2. Wie Sie Python installieren und eine virtuelle Umgebung nutzen, können Sie in unserem Artikel zur Einführung in das Scraping mit Python nachlesen. Als nächstes installieren Sie die erforderlichen Bibliotheken:

pip install requests beautifulsoup4 selenium

Um Selenium verwenden zu können, müssen Sie möglicherweise zusätzlich einen Webtreiber herunterladen. Für die neuesten Selenium-Versionen ist dies jedoch nicht mehr notwendig. Wenn Sie eine frühere Version der Bibliothek verwenden, finden Sie alle wichtigen Links im Artikel zum Scraping mit Selenium. Sie können auch jede andere Bibliothek auswählen, um mit einem Headless-Browser zu arbeiten.

Holen Sie sich Daten mit Anfragen und BS4

Sie können die endgültige Version des Skripts in Google Colaboratory ansehen und dort auch ausführen. Erstellen Sie eine Datei mit der Erweiterung *.py, in die wir unser Skript schreiben. Jetzt importieren wir die notwendigen Bibliotheken.

import requests
from bs4 import BeautifulSoup

Erstellen Sie eine Variable, um die URL der Angebotsseite zu speichern:

url = "https://www.redfin.com/city/18142/FL/Tampa"

Bevor wir fortfahren, testen wir die Abfrage und sehen, wie die Website reagiert:

response = requests.get(url)
print(response.content)

Als Ergebnis erhalten wir von der Website eine Antwort, die folgende Informationen enthält:

There seems to be an issue...
Our usage behavior algorithm thinks you might be a robot.
Ensure you are accessing Redfin.com according to our terms of usage.

Tips:
- If you are using a VPN, pause it while browsing Redfin.com.
- Make sure you have Javascript enabled in your web browser.
- Ensure your browser is up to date.

Um dieses Problem zu vermeiden, fügen wir unserer Anfrage User-Agents hinzu. Weitere Informationen darüber, was User-Agents sind, warum sie wichtig sind und eine Liste der neuesten User-Agents finden Sie in unserem anderen Artikel.

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
}

response = requests.get(url, headers=headers)

Die Anfrage funktioniert jetzt ordnungsgemäß und die Website gibt Objektdaten zurück. Lassen Sie uns überprüfen, ob der Antwortstatuscode 200 ist, was eine erfolgreiche Ausführung anzeigt, und dann das Ergebnis analysieren:

if response.status_code == 200:
    soup = BeautifulSoup(response.content, "html.parser")

Nun nutzen wir die Selektoren, die wir im vorherigen Abschnitt besprochen haben, um die erforderlichen Daten abzurufen:

    homecards = soup.find_all("div", class_="bp-Homecard__Content")

    for card in homecards:
        if (card.find("a", class_="link-and-anchor")):
            link = card.find("a", class_="link-and-anchor")("href")
            full_link = "https://www.redfin.com" + link
            price = card.find("span", class_="bp-Homecard__Price--value").text.strip()
            beds = card.find("span", class_="bp-Homecard__Stats--beds").text.strip()
            baths = card.find("span", class_="bp-Homecard__Stats--baths").text.strip()
            address = card.find("div", class_="bp-Homecard__Address").text.strip()

Drucken Sie sie auf dem Bildschirm aus:

            print("Link:", full_link)
            print("Price:", price)
            print("Beds:", beds)
            print("Baths:", baths)
            print("Address:", address)
            print()

Als Ergebnis verfügen wir über 40 Immobilienobjekte mit allen benötigten Daten im praktischen Format:


Scraping-Ergebnisse
Scraping-Ergebnisse

Wenn Sie sie speichern möchten, erstellen Sie am Anfang des Skripts eine Variable, um sie zu speichern:

properties = ()

Anstatt die Daten auf dem Bildschirm auszugeben, speichern Sie sie in einer Variablen:

            properties.append({
                "Price": price,
                "Beds": beds,
                "Baths": baths,
                "Address": address,
                "Link": full_link
            })

Der nächste Schritt hängt davon ab, in welchem ​​Format Sie die Daten speichern möchten. Um uns nicht zu wiederholen, werden wir darauf im Abschnitt zur Datenverarbeitung und -speicherung näher eingehen.

Umgang mit dynamischen Inhalten mit Selenium

Machen wir dasselbe mit Selenium. Wir haben dieses Skript auch auf die Colab Research-Seite hochgeladen, aber Sie können es nur auf Ihrem eigenen PC ausführen, da Google Colaboratory die Ausführung von Headless-Browsern nicht zulässt.

Anstatt Selektoren zu verwenden und alle Elemente einzeln auszuwählen, verwenden wir dieses Mal das JSON, das wir zuvor gesehen haben, und kombinieren sie alle in einer Datei. Sie können auch unnötige Attribute entfernen oder Ihr eigenes JSON mit Ihrer eigenen Struktur erstellen und dabei nur die erforderlichen Attribute verwenden.

Erstellen wir eine neue Datei und importieren Sie alle erforderlichen Selenium-Module sowie die Bibliothek für die JSON-Verarbeitung.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import json

Lassen Sie uns nun die Selenium-Parameter festlegen, den Pfad zum Webtreiber angeben und auch den Headless-Modus angeben:

chrome_driver_path = "C:\driver\chromedriver.exe"

chrome_options = Options()
chrome_options.add_argument("--headless")  

service = Service(chrome_driver_path)
service.start()
driver = webdriver.Remote(service.service_url, options=chrome_options)

Geben Sie einen Link zur Seite mit der Auflistung an:

url = "https://www.redfin.com/city/18142/FL/Tampa"

Gehen wir zur Eigenschaftenseite und fügen Sie einen Try-Block hinzu, um zu verhindern, dass das Skript im Fehlerfall beendet wird:

try:
    driver.get(url)
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "HomeCardContainer")))
    homecards = driver.find_elements(By.CLASS_NAME, "bp-Homecard__Content")

    properties = ()

Durchlaufen Sie alle Produktkarten und sammeln Sie JSON:

    for card in homecards:
        script_element = card.find_element(By.TAG_NAME, "script")
        json_data = json.loads(script_element.get_attribute("innerHTML"))

        properties.extend(json_data)  

Anschließend können Sie das JSON-Objekt entweder weiter verarbeiten oder speichern. Am Ende sollten wir die Arbeit des Webtreibers stoppen:

finally:
    driver.quit()

Dies ist ein Beispiel für eine JSON-Datei, die wir als Ergebnis erhalten:

(
    {
        "@context": "http://schema.org",
        "name": "13813 Stone Mill Way, Tampa, FL 33613",
        "url": "https://www.redfin.com/FL/Tampa/13813-Stone-Mill-Way-33613/home/47115426",
        "address": {
            "@type": "PostalAddress",
            "streetAddress": "13813 Stone Mill Way",
            "addressLocality": "Tampa",
            "addressRegion": "FL",
            "postalCode": "33613",
            "addressCountry": "US"
        },
        "geo": {
            "@type": "GeoCoordinates",
            "latitude": 28.0712008,
            "longitude": -82.4771742
        },
        "numberOfRooms": 2,
        "floorSize": {
            "@type": "QuantitativeValue",
            "value": 1261,
            "unitCode": "FTK"
        },
        "@type": "SingleFamilyResidence"
    },
…
)

Dieser Ansatz ermöglicht es Ihnen, auf einfachere Weise vollständigere Daten zu erhalten. Darüber hinaus kann die Verwendung eines Headless-Browsers das Risiko einer Blockierung verringern, da Sie so das Verhalten eines echten Benutzers besser simulieren können.

Bedenken Sie jedoch, dass die Website Sie möglicherweise trotzdem blockiert, wenn Sie eine große Datenmenge extrahieren. Um dies zu vermeiden, verbinden Sie einen Proxy mit Ihrem Skript. Wie das geht, haben wir bereits in einem separaten Artikel zum Thema Proxys besprochen.

Methode 3: Redfin mithilfe der API scrapen

Betrachten wir nun die einfachste Möglichkeit, die erforderlichen Daten zu erhalten. Diese Option erfordert keine Verbindung von Proxys oder Captcha-Lösungsdiensten und gibt die vollständigsten Daten in einem praktischen JSON-Antwortformat zurück. Dazu verwenden wir die Redfin-API von Hasdata, deren vollständige Details in der Dokumentation enthalten sind.

Scrapen Sie Einträge mit der Redfin-API

Da diese API über zwei Endpunkte verfügt, betrachten wir beide Optionen und beginnen mit der Option, die Daten mit einer Auflistung zurückgibt, da wir diese Daten bereits mithilfe von Python-Bibliotheken gesammelt haben. Das fertige Skript finden Sie auch in Google Colaboratory.

Importieren Sie die erforderlichen Bibliotheken:

import requests
import json

Geben Sie dann Ihren HasData-API-Schlüssel ein:

api_key = "YOUR-API-KEY"

Parameter einstellen:

params = {
    "keyword": "33321",  
    "type": "forSale" 
}

Neben der Postleitzahl und der Objektart können Sie auch die Anzahl der Seiten angeben. Geben Sie dann den Endpunkt selbst an:

url = "https://api.scrape-it.cloud/scrape/redfin/listing"

Header festlegen und die API anfordern:

headers = {
    "x-api-key": api_key
}

response = requests.get(url, params=params, headers=headers)

Als nächstes rufen wir die Daten ab und wenn der Antwortcode 200 ist, können wir die empfangenen Daten entweder weiterverarbeiten oder speichern:

if response.status_code == 200:
    properties = response.json()

    if properties:
        # Here you can process or save properties
    else:
        print("No listings found.")
else:
    print("Failed to retrieve listings. Status code:", response.status_code)

Als Ergebnis erhalten wir eine Antwort, in der die Daten im folgenden Format gespeichert werden (die meisten Daten wurden aus Gründen der Übersichtlichkeit entfernt):

{
    "requestMetadata": {
        "id": "da2f6f99-d6cf-442d-b388-7d5a643e8042",
        "status": "ok",
        "url": "https://redfin.com/zipcode/33321"
    },
    "searchInformation": {
        "totalResults": 350
    },
    "properties": (
        {
            "id": 186541913,
            "mlsId": "F10430049",
            "propertyId": 41970890,
            "url": "https://www.redfin.com/FL/Tamarac/7952-Exeter-Blvd-W-33321/unit-101/home/41970890",
            "price": 397900,
            "address": {
                "street": "7952 W Exeter Blvd W #101",
                "city": "Tamarac",
                "state": "FL",
                "zipcode": "33321"
            },
            "propertyType": "Condo",
            "beds": 2,
            "baths": 2,
            "area": 1692,
            "latitude": 26.2248143,
            "longitude": -80.2916508,
            "description": "Welcome Home to this rarely available  &  highly sought-after villa in the active 55+ community of Kings Point, Tamarac! This beautiful and spacious villa features volume ceilings…",
            "photos": (
                "https://ssl.cdn-redfin.com/photo/107/islphoto/049/genIslnoResize.F10430049_0.jpg",
                "https://ssl.cdn-redfin.com/photo/107/islphoto/049/genIslnoResize.F10430049_1_1.jpg"
            )
        },
…
}

Wie Sie sehen, ist die Verwendung einer API zum Abrufen von Daten viel einfacher und schneller. Darüber hinaus ermöglicht Ihnen dieser Ansatz, alle möglichen Daten von der Seite abzurufen, ohne sie manuell extrahieren zu müssen.

Scrape-Eigenschaften mithilfe der Redfin-API

Lassen Sie uns nun Daten mit einem anderen Endpunkt (Ergebnis in Google Colaboratory) sammeln, der es Ihnen ermöglicht, Daten von der Seite einer bestimmten Eigenschaft abzurufen. Dies kann nützlich sein, wenn Sie beispielsweise eine Liste mit Einträgen haben und schnell Daten von allen Einträgen sammeln müssen.

Das gesamte Skript wird dem vorherigen sehr ähnlich sein. Lediglich die Anfrageparameter und der Endpunkt selbst ändern sich:

url = "https://api.scrape-it.cloud/scrape/redfin/property"

params = {
    "url": "https://www.redfin.com/IL/Chicago/1322-S-Prairie-Ave-60605/unit-1106/home/12694628"
}

Das Skript bleibt in anderen Aspekten gleich. Die API gibt alle verfügbaren Daten für die angegebene Eigenschaft zurück.

Datenverarbeitung und -speicherung

Zum Speichern der Daten benötigen wir je nach Format eine zusätzliche Bibliothek. Speichern wir unsere Daten in zwei der beliebtesten Formate: JSON und CSV. Dazu importieren wir zusätzliche Bibliotheken in das Projekt:

import json
import csv

Als nächstes speichern wir die Daten der zuvor erstellten Variablen in den entsprechenden Dateien:

    with open("properties.json", "w") as json_file:
        json.dump(properties, json_file, indent=4)

    keys = properties(0).keys()  
    with open("properties.csv", "w", newline="", encoding="utf-8") as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames=keys)
        writer.writeheader()
        writer.writerows(properties)

Diese Methode ermöglicht es uns, alle wesentlichen Daten zu bewahren. Wenn Sie den Datenspeicherungsprozess optimieren oder die Daten in einem anderen Format speichern möchten, können Sie die Pandas-Bibliothek verwenden.

Abschluss

In diesem Artikel haben wir die beliebtesten Methoden zum Abrufen von Immobiliendaten von Redfin untersucht und verschiedene Technologien und Tools wie BeautifulSoup und Selenium besprochen, die Informationen aus Websites extrahieren. Dadurch können Sie ganz einfach Daten zu Preisen, Adressen, der Anzahl der Schlafzimmer und Badezimmer sowie anderen Eigenschaften der Immobilie erhalten. Sie können sich auch unser Tutorial zum Scraping von Zillow mit Python ansehen, um mehr Immobiliendaten zu erhalten.

Alle besprochenen Skripte wurden auf Google Colaboratory hochgeladen, sodass Sie problemlos darauf zugreifen und sie ausführen können, ohne Python auf Ihrem PC installieren zu müssen (mit Ausnahme des Beispiels mit einem Headless-Browser, der nicht aus der Cloud ausgeführt werden kann). Mit diesem Ansatz können Sie alle besprochenen Skripte nutzen, auch wenn Sie mit der Programmierung nicht sehr vertraut sind.

Darüber hinaus haben wir auch ein Beispiel bereitgestellt, wie man mit einem No-Code-Scraper auch ohne Programmierkenntnisse Daten erhalten kann. Wenn Sie Daten mit der Redfin-API von Hasdata abrufen, aber kein Skript schreiben möchten, können Sie unseren API Playground nutzen.

Related Posts

Hinterlasse einen Kommentar