Das Scraping-Werkzeug OutWit Hub spart eine Menge Coding in der Extraktion von Daten aus Webseiten. Ein einfaches Beispiel zeigt wie.
Wie im letzten Post erwähnt, gibt es die Kinderbetreuungsangebote der Stadt Zürich online nicht in einer übersichtlichen und leicht verwendbaren Liste. (Update: Das stimmt so nicht mehr ganz – mehr dazu unten.)
Die Informationsplattform hat einen eigenen Navigationspunkt für Kitas, Spiel- und Chrabbelgruppen. Bemüht man die dortige Suchfunktion, erhält man nach etwas Herumprobieren eine geordnete (Druck-)Darstellung der Angebote, die zwar weniger Informationen liefert als die einzelnen Einträge, die aber wegen ihrer kniffligen Struktur kaum mit vertretbarem Aufwand zu scrapen sind. Darum anders:
Statt wiederum auf ein selbstgeschriebenes Script zurückzugreifen, verwende ich dieses Mal ein einfaches und mächtiges Werkzeug zur Datenextraktion aus Webseiten: OutWit Hub.
Die Software kann auf beliebige Webseiten angewendet werden, um mehr oder weniger strukturierte Informationen aus dem HTML-Herauszuziehen. Ob es sich um eine statische oder dynamische Seite handelt (zum Beispiel Suchresultate), spielt dabei keine Rolle. Das Aufschlüsseln einer Seite nennt sich breaking. OutWit zeigt dazu an, was auf einer Seite an auszezeichneten Elementen zu finden ist: Tabellen, Listen, Aufzählungen, formatierter Text.
Scrapers in OutWit Hub sind Schemata, die der Software sagen, nach welchen Kriterien Information aus einer Webseite extrahiert werden sollen. Das geht automatisch oder mit Nutzerangaben, falls mehr Genauigkeit nötig ist. Im Scraper-Manager kann der Nutzer Marker definieren, die festlegen, wo gesuchte Datensätze beginnen und enden. Zum Beispiel: „Such mir alle Listenelemente und gibt mir jeweils zurück, was zwischen Aufzählungspunkt und dem zweiten Leerzeichen steht“. Das geht, indem man die betreffenden Elemente aus dem HTML-Code ins passende Scraperfeld zieht.
Wie hier ersichtlich, sind drei einfache Zeilen ausreichend um an die Daten zu kommen. Textformatierungen werden von OutWit automatisch entfernt. In welchem Format die gesammelten Daten gespeichert werden sollen, lässt sich frei wählen.
Um nach den Kinderkrippenadresen noch die Mittagstische der Stadt zu sammeln, verwende ich diese Übersichtsseite. Auch hier sind ein paar Zeilen ausreichend, um die Grunddaten zu extrahieren.
Hier die beiden OutWit-Scraper zum Download als XML-Dateien: Je einer für Kitas und Mittagstische. Das Resultat:
Outwit ist in einer Basisversion mit reduzierter Funktionalität kostenlos, die Vollversion kostet rund 50 Dollar. Ich verwende das Browser-Addon für Firefox.
Update: Es geht inzwischen auch einfacher. Auf dem kürzlich lancierten Datenportal der Stadt Zürich finden sich neu Geodaten für (Kinder-)Betreuungsangebote, unter anderem Kinderhorte und Kinderkrippen. Da sich die blossen Angebotslisten in komprimierten shapefiles verbergen, muss man sie allerdings noch herausholen. Tabellenkalkulationen wie Excel können aber das .dbf-Dateiformat, das die Ortsattribute enthält, ohne weiteres öffnen. Die angezeigte Tabelle muss nur noch angepasst werden.
Schreibe einen Kommentar