SlideShare a Scribd company logo
1 of 30
hands-on workshop:
  coding for data-
    journalism
einsteigerfreundliche Software-Tools für
   die Beschaffung und Präsentation
            relevanter Daten
urs@opendata-network.org




http://opendata-network.org/
upcoming:
Open Data Hackday
http://opendata.hackday.net/
17. & 18. April 2010 (morgen! hier!)



Open Democracy Camp
http://tinyurl.com/opend
8. & 9. Mai - Berlin - (new thinking store?)




Daten-Journalismus in der Praxis
heute 17h - Blauer Saal - Lorenz Matzat
3 Beispiele:
Daten mit ruby
aus dem web
scrapen

Werte mit den
Google Chart Tools
visualisieren

Netzwerke mit
Gephi
visualisieren
• dynamische Skriptsprache
• leicht zu erlernen & ausdrucksstark
• http://www.ruby-lang.org/
• sudo apt-get install ruby irb ri rdoc rubygems
• sudo gem install nokogiri (Scraping-Library)
lets roll:




 Demo
tagesschau:




          Text aus einer
            HTML-Seite
             extrahiert 
tagesschau_fuer_nerds.rb




                           Demo
next step:




       HTML                      extrahierter    CSV
http://de.eurosport.yahoo.com
     /fussball/bundesliga/           Text       Tabelle
fussball.rb
fussball.rb




zeilen = Array = [zeile, zeile, zeile, zeile]
Zeile für Zeile
fussball.rb
Ergebnis




       HTML                     extrahierter    CSV
http://de.eurosport.yahoo.com
     /fussball/bundesliga/          Text       Tabelle
Nebeneinkünfte
       Stufe 1 für 1000 bis 3500 Euro,
       Stufe 2 für 3500 bis 7000 Euro,
       Stufe 3 für alles ab 7000 Euro.
       Die Stufen werden je nach Job
       monatlich oder jährlich ausgewiesen.

       Wer unter 1000 Euro im Monat oder
       10.000 Euro im Jahr bleibt, muss nichts
       melden; solche Tätigkeiten werden ohne
       Stufen-Angabe vermerkt
Strategie:
1.
Alle Biografie-URLs
ermitteln

2.
Angaben zu Jobs
auslesen

3.
Tabelle erstellen
1. Alle Biografie-URLs
2a. Name und Partei auslesen
2b. Nebeneinkünfte auslesen
3. Tabelle erstellen
lokale Kopien erstellen
    mit SiteSucker
Nebeneinkünfte




    Demo
Google Chart Tools
        http://chart.apis.google.com/chart?
chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World




<img border="1"
  src="http://chart.apis.google.com/chart?chs=250x100&amp;chd=t: 60,40&amp;cht=p3&amp;chl=Hello|World"
  alt="Yellow pie chart">
Google Chart Tools

        http://chart.apis.google.com/chart?
chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World

Bildgröße    Werte    Chart-Typ      Legende
Beispiele:
Google Visualization API




Javascript auf der Seite statt IMG-src-URL
Gephi
interactive visualization and exploration for graphes
Graph-Input-File (zB. gml)
Creator "ODN workshop"
graph
[
  node
  [
    id 1                  edge
    label "DoingIt Inc"    [
  ]                          source 2
  node                       target 1
  [                        ]
    id 2                   edge
    label "Proxy Inc."     [
  ]                          source 3
                             target 1
                           ]
Gephi




Demo

More Related Content

Viewers also liked

Visita a bilbao 3 ¦ diversificaci+ôn
Visita a bilbao  3  ¦ diversificaci+ônVisita a bilbao  3  ¦ diversificaci+ôn
Visita a bilbao 3 ¦ diversificaci+ônVillajunco
 
Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.
Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.
Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.Open Data Network
 
¿Qué tan verde es un experimento
¿Qué tan verde es un experimento¿Qué tan verde es un experimento
¿Qué tan verde es un experimentoangelo26_
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacionmiguelovalle10
 
SEPA Informationen aus dem Fundraising Frühstück-BITKOM
SEPA Informationen aus dem Fundraising Frühstück-BITKOMSEPA Informationen aus dem Fundraising Frühstück-BITKOM
SEPA Informationen aus dem Fundraising Frühstück-BITKOMSpendino
 
Trabajo de realidad aumentada
Trabajo de realidad aumentadaTrabajo de realidad aumentada
Trabajo de realidad aumentadajosuevargas123
 
Concepcion de las pilas galvanicas
Concepcion de las pilas galvanicasConcepcion de las pilas galvanicas
Concepcion de las pilas galvanicasangelo26_
 
A pulir para que brille
A pulir para que brilleA pulir para que brille
A pulir para que brilleBryan Urra
 
Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...
Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...
Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...angelo26_
 
Banale Musik erzeugt Provinz
Banale Musik erzeugt ProvinzBanale Musik erzeugt Provinz
Banale Musik erzeugt Provinzderherrgott
 
Rene Barrientos - Matematicas - Nancy oña
Rene Barrientos - Matematicas - Nancy oña   Rene Barrientos - Matematicas - Nancy oña
Rene Barrientos - Matematicas - Nancy oña funlapaz
 
Tabla periodica
Tabla periodicaTabla periodica
Tabla periodicaangelo26_
 
Irisbond Primma Manual de Usuario
Irisbond Primma Manual de UsuarioIrisbond Primma Manual de Usuario
Irisbond Primma Manual de UsuarioIRISBOND
 

Viewers also liked (16)

Visita a bilbao 3 ¦ diversificaci+ôn
Visita a bilbao  3  ¦ diversificaci+ônVisita a bilbao  3  ¦ diversificaci+ôn
Visita a bilbao 3 ¦ diversificaci+ôn
 
Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.
Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.
Open Data Network: Warum eine freie Gesellschaft offene Daten braucht.
 
Título del documento
Título del documentoTítulo del documento
Título del documento
 
Nombre
NombreNombre
Nombre
 
¿Qué tan verde es un experimento
¿Qué tan verde es un experimento¿Qué tan verde es un experimento
¿Qué tan verde es un experimento
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
SEPA Informationen aus dem Fundraising Frühstück-BITKOM
SEPA Informationen aus dem Fundraising Frühstück-BITKOMSEPA Informationen aus dem Fundraising Frühstück-BITKOM
SEPA Informationen aus dem Fundraising Frühstück-BITKOM
 
Trabajo de realidad aumentada
Trabajo de realidad aumentadaTrabajo de realidad aumentada
Trabajo de realidad aumentada
 
Concepcion de las pilas galvanicas
Concepcion de las pilas galvanicasConcepcion de las pilas galvanicas
Concepcion de las pilas galvanicas
 
A pulir para que brille
A pulir para que brilleA pulir para que brille
A pulir para que brille
 
Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...
Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...
Ejercicio: Cambio conceptual a través del analísis de las propiedades del agu...
 
Banale Musik erzeugt Provinz
Banale Musik erzeugt ProvinzBanale Musik erzeugt Provinz
Banale Musik erzeugt Provinz
 
La bios
La biosLa bios
La bios
 
Rene Barrientos - Matematicas - Nancy oña
Rene Barrientos - Matematicas - Nancy oña   Rene Barrientos - Matematicas - Nancy oña
Rene Barrientos - Matematicas - Nancy oña
 
Tabla periodica
Tabla periodicaTabla periodica
Tabla periodica
 
Irisbond Primma Manual de Usuario
Irisbond Primma Manual de UsuarioIrisbond Primma Manual de Usuario
Irisbond Primma Manual de Usuario
 

Similar to Hands-on: Coding for Data-Journalism

App Entwicklung mit Appcelerator Titanium - MTC 2014
App Entwicklung mit Appcelerator Titanium - MTC 2014App Entwicklung mit Appcelerator Titanium - MTC 2014
App Entwicklung mit Appcelerator Titanium - MTC 2014Marcel Pociot
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?Robin Sedlaczek
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshopargency
 
ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?Robin Sedlaczek
 
OKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 UpdateOKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 Updatejoergreichert
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for BeginnersUlrich Krause
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Jürg Stuker
 
HTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenHTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenJonathan Weiß
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Robin Sedlaczek
 
HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014Markus Greve
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & DominoUlrich Krause
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apie-dialog GmbH
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptRalf Schwoebel
 
I thought you were my friend!
I thought you were my friend!I thought you were my friend!
I thought you were my friend!Mario Heiderich
 
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne KopfschmerzenYAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne KopfschmerzenJens Klein
 

Similar to Hands-on: Coding for Data-Journalism (20)

App Entwicklung mit Appcelerator Titanium - MTC 2014
App Entwicklung mit Appcelerator Titanium - MTC 2014App Entwicklung mit Appcelerator Titanium - MTC 2014
App Entwicklung mit Appcelerator Titanium - MTC 2014
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
 
ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?
 
OKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 UpdateOKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 Update
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
HTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenHTML5-Legacy-Anwendungen
HTML5-Legacy-Anwendungen
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
 
HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics api
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
Cappuccino und Atlas
Cappuccino und AtlasCappuccino und Atlas
Cappuccino und Atlas
 
091124 cappuccino atlas
091124 cappuccino atlas091124 cappuccino atlas
091124 cappuccino atlas
 
I thought you were my friend!
I thought you were my friend!I thought you were my friend!
I thought you were my friend!
 
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne KopfschmerzenYAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
 

Hands-on: Coding for Data-Journalism

Editor's Notes