Scraping for journalists

Paul Bradshaws recepten voor datasoep

Het was werk in uitvoering maar na ongeveer een jaar en zo’n 40 updates is het eindelijk gepubliceerd: Paul Bradshaws ‘Scrapping for journalists‘. Paul Bradshaw doceert aan de City University London en Birmingham City University, blogt op het Online Journalism Blog en is een gerespecteerd datajournalist. En dat is niet ten onrechte.

‘Scraping for journalists’ is te bestellen als e-book, in enkele formaten: PDF, Mobi of Epub. Leanpub – waar het boek te downloaden is – heeft een interessant uitgeefconcept. Niet alleen stelt Leanpub alle middelen beschikbaar voor productie en publicatie van een boek, ook is het mogelijk tussendoor nieuwe versies te uploaden of aanvullingen te maken. Bovendien zijn de royalty’s een stuk hoger dan bij traditionele uitgeverijen. Bradshaw: “I have become a huge fan…The format combines the best qualities of traditional book publishing with those of blogging and social media”.

Computer aan en gaan

‘Scraping voor journalists’ is een must voor iedereen die wat met datajournalistiek heeft. Een van de problemen in dit nieuwe journalistieke vakgebied is: Hoe krijg je data van het web in een spreadsheet? Het antwoord is: scrapen. Maar hoe doe je dat precies, te meer daar de meeste journalisten weinig met programmeren hebben? Bradshaw geeft in zo’n 30 hoofdstukken, verdeeld over 500 pagina’s, verschillende recepten.

Het boek is niet om van kaft tot kaft te lezen, je moet ermee werken. Boek open, computer aan, en dan stap voor stap Bradshaw volgen. Als dit lukt kun je wat wijzigingen aan brengen in zijn recepten. Uiteindelijk experimenteer je net zolang tot het ook werkt voor jouw data. Dit gaat prima, want leren programmeren is niet alleen lastig maar kost ook veel tijd. Nu heb je een aantal kant en klare richtlijnen, commando’s of stukjes code die je direct kunt toepassen.

Vliegende start

En dat werkt. Al in het eerste hoofdstuk maak je als datajournalist een vliegende start. Binnen vijf minuten heb je je eerste webpagina gescrapet en staan je data in een Excelspreadsheet. Bradshaw begint met het uitleggen van het commando ImportHTMl en ImportXML uit Google Drive Spreadsheets, dat gebruikt wordt om data in een tabel op een webpagina in een spreadsheet te importeren.

De truc bij dit commando is het juiste nummer van de tabel of lijst te vinden. Daarvoor kun je diep in de html- of xml-soep duiken, maar je kunt het ook uitproberen. “Just try some numbers in the expression”, adviseert Bradshaw.

Srapen met Outwit Hub

Het scrapen van tabellen uit een webpagina kan natuurlijk sneller en makelijker; bijvoorbeeld met een tool als Outwit Hub. Laad de webpagina met de tabel in Outwit en druk op Table; tada… daar zijn de data in kant en klaar xls-formaat. De gratis versie van Outwit is aardig, maar beperkt het scrapen tot zo’n honderd regels. Koop daarom voor 60 Euro een volledige versie, adviseert Bradshaw. Zeker wanneer je vele pagina’s moet scrapen kun je niet zonder.

Neem bij voorbeeld de 150 Nederlandse Kamerleden. De lijst staat op internet en elk van de Kamerleden heeft een eigen homepage met daarop informatie over opleiding en vorige functies. Allemaal op dezelfde wijze gestructureerd. Als je deze data wilt hebben kun je natuurlijk pagina voor pagina langslopen. Maar dat kost tijd en is nogal saai werk bovendien. Maak zelf een scraper in Outwit gebaseerd op de openingstag en de eindtag van de gegevens over opleiding en vorige functies. Draai de scraper nu over de lijst van 150 kamerleden, neem een kop koffie en na een tijdje heb je de gegevens kant en klaar in xls-formaat.

Bradshaw legt duidelijk uit hoe je die openingtag en de eindtag in de html-soep kunt vinden. Dat garandeert dat met een paar zweetdruppletjes het eindelijk wel lukt om de data te bemachtigen.

ScraperWiki

Je bent niet de enige datajournalist die bezig is met scrapen en daarom is er ScraperWiki. ScraperWiki is een ontmoetingsplaats voor datajournalisten waar je elkaars scrapers kunt gebruiken en aanpassen. Zoek een scraper die van belang zou kunnen zijn, kopieer de scraper en pas hem aan.

Dat lijkt simpel maar scrapers zijn programma’s, geschreven in PHP, Python of Ruby. Nee, dat is geen brug te ver. Je hoeft niet te kunnen programmeren. Bradshaw legt duidelijk uit hoe je dit soort scripts moet lezen en aanpassen. Experimenteren loont en als goede docent geeft Bradshaw aan het eind van elk hoofdstuk een aantal oefenopdrachten die je verder op weg helpen.

Er is nog veel meer om te ontdekken. Hoe scrape je bijvoorbeeld een PDF, verschillende cellen uit een grote spreadsheet of gegevens uit een kommagescheiden bestand? In dit boek zul je zeker een recept vinden.

Wanneer ik in een training dit soort trucs heb voorgedaan komt altijd de vraag: heb je het ook op schrift? Dat is er nu. Daarom staat Bradshaw nu als verplichte literatuur op mijn lijst.

Paul Bradshaw: Scraping for Journalists. Leanpub. $12,99. Verkrijgbaar via Leanpub.

Lees ook recensies van andere boeken over datajournalistiek op DNR:

Peter Verweij –

Peter Verweij (1949), studeerde sociologie en filosofie aan de Universiteit van Nijmegen. Tot 2011 was hij werkzaam aan de School voor de Journalistiek te Utrecht als docent op het gebied van online journalistiek en computer assisted research and reporting (CAR). Momenteel werkt hij als trainer en consultant in zijn bedrijf D3-Media.

Alle artikelen van Peter Verweij op De Nieuwe Reporter.

  • Hillie

    Is het boek toegespitst op de PC of MAC en of maakt dat iets uit in gebruik?