Weiter zum Ihnhalt

Daten­er­hebung mittels Webcrawling

22. Juli 2019

Datenerhebung mittels Webcrawling

Anhand des Praxis­bei­spiels Airbnb zeigen wir auf, wie mittels Webcrawler öffentlich verfügbare Daten automa­tisiert erhoben und analysiert werden können.

Datenerhebung mittels Webcrawling Airbnb

Webcrawling am Beispiel Airbnb

Das ameri­ka­nische Unter­nehmen Airbnb gehört zurzeit zu den wertvollsten Startups auf der Welt mit einem geschätzten Marktwert von rund 35 Milliarden Dollar. Airbnb betreibt eine Online-Plattform, auf der Privat­personen ihr Haus, ihre Wohnung oder ihr Zimmer zur Untermiete anbieten. Die Plattform hat in den letzten Jahren schweizweit enorm an Popularität gewonnen. So hat sich das Angebot von Airbnb seit 2016 von 15´500 auf rund 31´000 Unter­künfte verdoppelt. Weil Datahouse den Immobi­li­enmarkt inter­essiert beobachtet, entwi­ckelten wir einen Webcrawler, um die Angebote von Airbnb genauer zu analy­sieren.

Was ist ein Webcrawler?

Ein Webcrawler (auch Spider oder Scraper genannt) ist ein Compu­ter­programm, das automa­tisiert im Internet surft und dabei gewünschte Daten aufspürt und abspeichert. Webcrawler werden vielseitig eingesetzt, zum Beispiel für den Aufbau von Suchma­schinen (Google), von Vergleichs- und Inserat-Portalen (Trivago) oder für Forschungs­zwecke (Sentiment-Analysen in sozialen Medien). Allerdings werden Webcrawler auch für unerwünschte Anwen­dungen eingesetzt, etwa um E-Mail-Adressen zu sammeln für das Versenden von Spam-Nachrichten. Zudem behindern viele Webcrawler den Inter­net­verkehr. Laut einer Studie von Imperva verur­sachen Webcrawler bis zu 51.8 Prozent des gesamten Internet-Daten­verkehrs (Bot Traffic Report, 2016)

Wie funktioniert ein Webcrawler?

Für den Airbnb-Crawler inter­es­sieren uns die Eigen­schaften und Übernach­tungs­preise aller Schweizer Unter­künfte. Da diese Infor­ma­tionen nicht zentral abrufbar sind, muss der Crawler alle Webseiten der einzelnen Unter­künfte abfragen. Was ein Besucher auf diesen Webseiten sieht, ist im Hintergrund als HTML-Code definiert, welcher vom Inter­net­browser beim Seiten­aufruf herun­ter­geladen und in eine übersichtliche Anzeige umgewandelt wird. Diesen HTML-Code analy­sieren wir, um die Position der Codeblöcke mit den relevanten Angaben aufzu­spüren und so die Abfrage der Daten für jede einzelne Unterkunft zu automa­ti­sieren. Teilweise enthält der HTML-Code auch Infor­ma­tionen, die nicht direkt auf der Webseite angezeigt werden. So können beispielsweise die Verfüg­barkeit und alle Übernach­tungs­preise für das kommende Jahr direkt heraus­gelesen werden. Schliesslich definieren wir einen Zeitplan für den Crawler, um die Daten regel­mässig abzufragen und schreiben sie in einer struk­tu­rierten Form in eine Datenbank.

Datenerhebung mittels Webcrawling Airbnb Beispiel
Abbildung 1: Daten­ex­traktion aus dem HTML-Code

Daten­analyse

Unser Webcrawler hat etwas mehr als 31’000 Airbnbs in der Schweiz gefunden. Am häufigsten befinden sich die Airbnbs in den Gross­städten wie Zürich (1’654), Basel (1’412), Genf (1’218) und Lausanne (656), in den bekannten Touris­mus­re­gionen wie Luzern (430), Lugano (308), Interlaken (298) und Montreux (200), wie auch in den Skire­gionen im Wallis und Graubünden. In den Skire­gionen werden haupt­sächlich Ferien­woh­nungen angeboten (nur 9 Prozent Privat­zimmer), wohingegen in den Städten vermehrt einzelne Zimmer inseriert sind (38 Prozent Privat­zimmer). Etwa ein Drittel der Airbnbs sind für zwei Personen, 23 Prozent für vier Personen und 12 Prozent für sechs Personen gedacht.

Datenerhebung mittels Webcrawling Airbnb
Abbildung 2: Übersicht der verfügbaren Unter­künften nach Unter­kunftstyp

Die teuersten Airbnbs (mittlerer Preis für zwei Personen pro Nacht) befinden sich in den Ortschaften Bagnes (161 CHF), Luzern (144 CHF) und in Zermatt (138 CHF). Diese Preise fluktuieren aber stark über das Jahr hinweg. Um dies besser darzu­stellen, haben wir die Übernach­tungs­preise für jede Unterkunft auf deren Minimalpreis indiziert. Einen besonders spannenden Verlauf zeigt die Gemeinde Davos (siehe Abbildung 3). Die kurzfristigen Preis­zyklen zeigen erhöhte Preise während dem Wochenende. Im Durch­schnitt sind die Preise am Wochenende zwei Prozent höher als unter der Woche. Die langfristigen Preis­zyklen wider­spiegeln die Nachfrage während der Haupt­saison (Dezember bis Mai). In dieser sind die Preise im Durch­schnitt 10 Prozent höher als in der Neben­saison. Besonders begehrt sind Airbnbs während den Weihnachts­ferien und dem Weltwirt­schaftsforum (WEF), wo man im Durch­schnitt ein Drittel mehr, respektive das Doppelte als während der Neben­saison bezahlen muss.

Datenerhebung mittels Webcrawling Zeitachse
Abbildung 3: Preis­fluk­tuation anhand der Gemeinde Davos

Konklusion

Webcrawler bieten eine wichtige Möglichkeit, relevante öffentlich verfügbare Daten zu erheben, die nicht in aufbe­reiteter Form zur Verfügung gestellt werden. Sie erlauben es, Infor­ma­tionen auf Webseiten automa­tisiert und regel­mässig abzufragen und in einer struk­tu­rierten Form zu speichern. Entspre­chende Datensätze sind für diverse Unter­nehmen oder für die öffentliche Hand sehr wertvoll. Diese Airbnb-Daten können beispielsweise in der Hotellerie zugezogen werden, um die Zimmer­preise dynamischer zu gestalten oder in der Stadt­ver­waltung, um regula­to­rische Massnahmen für den lokalen Airbnb-Markt zu analy­sieren.

Falls auch Sie Webseiten mit wertvollen Infor­ma­tionen für ihr Unter­nehmen kennen, dann kontak­tieren Sie uns, um die Möglich­keiten eines Daten­be­schaffungs und -analyse Projekts zu disku­tieren.