Daten sammeln, zusammenschaufeln und sie nutzbar machen: Scraping und Data Mining . Hinweise und Tipps von Patrick RÖSING (stern.de)

Hinweis: Die hier vorgestellten Option repräsentieren den Stand März 2015.
Aus diesem Grund wird diese Site regelmäßig aktualisiert.

*****

1. Scraping

„Scraping“ bedeutet im Englischen soviel wie „schaben“ oder „kratzen”. Unter dem Oberbegriff sind Techniken zusammengefasst, mit denen Daten aus Websites oder Dokumenten extrahiert – oder, um bei der wörtlichen Übersetzung zu bleiben, „herausgeschabt“ – werden, um sie weiterzuverarbeiten.

Der kanadische Datenjournalist Glen McGregor bezeichnet Scraping als mächtiges Werkzeug, um an elektronische Daten für Geschichten heranzukommen, die sonst nicht realisierbar wären (siehe http://j-source.ca/article/web-scraping-how-journalists-get-their-own-data).

Scrapen kann auf verschiedene Art und Weise geschehen: Die mächtigste Möglichkeit besteht darin, selbst ein Programm zu erstellen, das in der Lage ist, Webseiten systematisch nach den gewünschten Informationen zu durchsuchen. Dafür ist allerdings das Beherrschen einer Programmiersprache wie etwa “Python”, „Ruby“ oder „Perl“ unerlässlich.

Scraping mit speziellen Tools

Wem diese Fähigkeit abgeht, der kann alternativ natürlich mit einem Programmierer zusammenarbeiten – oder aber auf eine Reihe von Werkzeugen zurückgreifen. Es gibt zahlreiche Scraping-Erweiterungsprogramme für verschiedene Internet-Browser, daneben noch browserbasierte Online-Anwendungen und komplett eigenständige Programme. Um diese effektiv nutzen zu können, sollte man jedoch wenigstens ein Basiswissen über den Aufbau von Webseiten und die Bereitschaft, sich in die Programme soweit wie eben nötig einzuarbeiten mitbringen.

Darüber hinaus sollte man sich darüber im Klaren sein, dass die volle Datenkontrolle nur mit eigenen Scripts gewährleistet werden kann. Die meisten verfügbaren Programme speichern abgegriffene Daten auf den (angemieteten) Servern Ihrer Herstellerunternehmen.

Da in der Regel Informationen gebündelt werden, die ohnehin online verfügbar sind, mag dies nicht immer weiter schlimm sein. Aber – gerade bei sensiblen Datensätzen – sollte dieser Umstand bedacht werden.

Beispiel: Tabellen aus PDFs Extrahieren mit scraperwiki

Die englischsprachige Plattform „ScraperWiki“ (scraperwiki.com) stellt eine Reihe von Online-Werkzeugen zur Verfügung, um Daten zu bekommen, aufzubereiten und herunterzuladen. Um diese Werkzeuge nutzen zu können, muss man sich auf der Webseite registrieren und einloggen. Ein Basis-Konto ist gratis, für Journalisten wurde das kostenlose Paket zudem erweitert: https.//wordpress.scraperwiki.com/solutions/data-journalism/.

Ein sehr hilfreiches Scraperwiki-Tool ermöglicht das Extrahieren von Tabellen aus PDF Dateien.
Für das Anwendungsbeispiel wird der von der Weltdoping-Agentur WADA herausgegebene Report für 2013 mit den Prüfergebnissen für die einzelnen Sportarten herangezogen. Der Bericht ist auf der Agentur-Homepage unter folgender URL abrufbar:

https://wada-main-prod.s3.amazonaws.com/resources/files/WADA-2013-Anti-Doping-Testing-Figures-SPORT-REPORT.pdf

Ein erstes Durchblättern zeigt: Der Bericht enthält auf 27 Seiten zahlreiche Fakten, Erläuterungen und – Tabellen. Allerdings sind diese in der PDF-Datei „gefangen“ und für eine weitere Analyse und Visualisierung nicht ohne weiteres nutzbar. Denn: Das PDF-Format ist originär nur für den Druck und die Anzeige von Dokumenten bestimmt. Die Struktur einer PDF ist nicht dafür vorgesehen, Daten herauszulösen.

Für die Weiterverarbeitung benötigen wir allerdings die Tabellen mit den Testergebnissen für olympische Sportarten in einem „datenfreundlicherem“ Format, wie etwa xls oder csv.

Folgende Schritte sind dafür notwendig:
Nachdem man sich unter scraperwiki.com registriert und eingeloggt hat, wählt man zunächst die Option „Create a new dataset“ aus. Im sich dann öffnenden Auswahlmenü „Extract from PDFs“ anklicken.

Zunächst muss eine PDF-Datei ausgewählt werden, aus der die Tabellen extrahiert sollen. Diese kann online verfügbar sein, aber auch auf dem eigenen Rechner liegen. Im Beispiel wird der Link zum WADA-Bericht in das Feld hineinkopiert. Dann auf „Extract Tables“ klicken und einen Moment warten

Auf dem Bildschirm wird nun unter dem Reiter „View in a table” eine Tabellenansicht des Dokuments sichtbar. Die benötigten Tabellen befinden sich auf den Seiten 3, 4, und 5.
Mit „Download as a Spreadsheet“ können die benötigten Seiten als Excel-Datei heruntergeladen und in einem Tabellenkalkulationsprogramm weiter bearbeitet und zusammengeführt werden.

Alternative: “Tabula”: http://tabula.technology

ist eine freie Software zum Extrahieren von Tabellen und PDF-Dateien. Sie befindet sich allerdings noch im experimentellen Status!

Anderer Software-Tipp: Webseiten scrapen mit import.io

Import.io ist ein frei nutzbares Programm, mit dem Datensätze aus Webseiten extrahiert werden können. Import.io wird über eine komplett grafische Benutzerobfläche bedient. In der Software, die wie ein Webbrowser anmutet,werden kleine Programme, sogenannte “Crawler”, angelegt. Diese Crawler können auf die Struktur einer Website “trainiert” werden, um die gewünschten Datensätze herauszufiltern und als Tabelle zu exportieren. Crawler werden gespeichert und können immer wieder aufgerufen werden, um eine aktualisierte Version der benötigten Daten zu bekommen.

Die Software kann hier gratis heruntergeladen werden: www.import.io. Für die Nutzung ist eine Registrierung oder der Log-In mit einem bestehenden Social-Media-Konto nötig.

Unter folgendem Link gibt es eine Reihe von einführenden Schulungsvideos (Webinars), die den Umgang mit der Software anhand von verschiedenen Fallbeispielen erläutern: https://import.io/webinars (in englischer Sprache).

Weitere Alternativen:

 

2. Data Mining

Von „Data Mining“ (aus dem Englischen: „Data“ = „Daten“; Mining = „Bergbau“) wird gesprochen, wenn aus großen Datenmengen (also quasi „Bergen“ von Daten, die für eine Geschichte oder Grafik wesentlichen Informationen) „herausgeschürft“ werden. Data Mining ermöglicht es, in den Daten Muster zu erkennen oder Zusammenhänge aufzudecken. Diese können dann für die weitere Recherche verwendet werden (vgl. ALISHANI, A / van der KAA, H.A.J 2013: Journalistic Data Mining. [online, zit. 27.06.2013] – URL: http://mystudy.uvt.nl/it10.vakzicht?taal=n&pfac=FGW&vakcode=822033).

In Verbindung mit dem Stichwort Big Data könnte Data Mining künftig einen höheren Stellenwert bekommen. Eine Definition findet sich unter anderem beim schleswig-holsteinischen Datenschutzzentrum:

„,Big Data’ steht für besonders große Datenmengen, die über das Internet oder anderweitig gesammelt, verfügbar gemacht und ausgewertet werden. Die Daten lassen sich, herausgelöst aus den ursprünglichen Erhebungskontexten, zu beliebigen Zwecken nutzen, z. B. um statistische Trends zu erkennen, um wissenschaftliche Erkenntnisse zu gewinnen, um politische, wirtschaftliche oder sonstige Entscheidungen zu treffen, evtl. auch Entscheidungen mit Bezug für einzelne Menschen. Hieraus ergeben sich völlig neue Chancen für soziale, ökonomische, wissenschaftliche Erkenntnisse, die dazu beitragen können, die Lebensverhältnisnisse in unserer komplexen Welt zu verbessern.“ (Datenschutzzentrum 2013)

Software: SPSS, R (Statistik); Tableau (Analyse und Visualisierung) in der Version „Public“ kostenfrei nutzbar

Data Mining mit forensischer Software

Um eine besonders große Menge an Dateien auf einem Datenträger oder Webserver zu sortieren, analysieren und auszuwerten, setzen einige investigative Datenjournalisten auf forensische Programme, die auch für kriminaltechnische Untersuchungen verwendet werden.

Ein aktuelles Beispiel für erfolgreiches derartiges Data Mining ist das Journalismus-Projekt „Offshore-Leaks“ aus dem weiter oben angeführten Beispiel, bei dem die Steuerflucht von Unternehmen und Privatpersonen in sogenannte Steueroasen enthüllt wurde. Nach Aussage des deutschen beteiligten Journalisten Sebastian Mondial lag den Recherchen eine Festplatte mit über 260 Gigabytes Daten, verteilt in 2,5 Millionen Dokumenten – wie E-Mails, Tabellen oder PDF-Dateien – zu Grunde. Diese war dem Internationalen Konsortium für Investigative Journalisten (ICIJ) zugespielt worden. Mittels der forensischen Software „Nuix“ (www.nuix.com) wurde dieser unüberschaubare Datenberg von einem internationalen Journalisten-Team gefiltert und ausgewertet.

 

3. Programmierschnittstellen (APIs) nutzen

Einige Websites bieten für Entwickler spezielle Programmierschnittstellen an, kurz als API (Application Programming Interface) bezeichnet. Diese können sich Datenjournalisten beispielsweise zu Nutze machen, um spezielle Fragestellungen zu bestimmten Strukturen oder Akteuren in sozialen Netzwerken zu beantworten: So lässt sich etwa über die API von Twitter herausfinden, welche Twitter-Benutzer in bestimmte Themen- Komplexe involviert sind, wie aktiv sie an Diskussionen teilnehmen und wo sie geografisch verortet sind.

Ein gängiges Datenformat für API- Abfragen ist JSON. Auch Google (https://developers.google.com)  und Facebook (https://developers.facebook.com/docs/graph-api)  bieten APIs für Entwickler an.

In den USA stellen auch Regierungsinstitutionen bestimmte APIs für Entwickler zur Verfügung. Eine Liste mit den verschiedenen Portalen ist auf einem zentralen Portal abrufbar: www.data.gov.

In Deutschland ist seit einiger Zeit eine Beta-Version eines offiziellen Datenportals online, betrieben vom Bundesinnenministerium. Der Metakatalog ist laut Angaben auf der Seite auch per API erreichbar: www.govdata.de/hilfe

******

Hinweis des Herausgebers (JL): Patrick RÖSING arbeitet als Datenjournalist und Visualisierer bei stern online. Er hat sich in seiner Masterarbeit aus dem Jahre 2013 intensiv mit dieser Materie auseiandergesetzt. Die Master-Thesis “Datenjournalismus in Regional- und Lokalmedien: neun Handlungsempfehlungen” ist frei downloadbar.