Scrapen met Google Spreadsheets

Scrapen met Google Spreadsheet

Het snel binnen halen van informatie van een andere website wordt ‘scrapen’ genoemd. De simpelste scrapers maak je binnen een paar minuten met Google Drive. Alles wat je moet weten over de ImportHTML functie – scrapen galore!

Voor deze scraper heb je een Google Drive account nodig. Login en maak een spreadsheet “Create > Spreadsheet”. Vervolgens kun je met de volgende functie een tabel of lijst downloaden naar je spreadsheet:

=ImportHTML("URL invoegen", "kies table of list", 2)

Parameters

Zoals je kunt zien bestaat de functie uit verschillende onderdelen:

  • =

    Het is-teken is het begin van elke functie in een spreadsheet. Zonder dit startsein weet Google Drive niet dat het om een functie gaat in plaats van een tekst.

  • ImportHTML

    de naam van de functie, met deze functie kun je een tabel of lijst van een HTML-pagina importeren in je spreadsheet.

  • (“URL invoegen”, “table”, 1)

    Dit zijn de parameters – ingredienten – van de functie. De scraper werkt pas als je alle ingredienten hebt toegevoegd. Parameters staan doorgaans tussen haakjes achter de functienaam – ze worden meestal van elkaar gescheiden door komma’s.

    • “URL invoegen”

      Vul hier tussen de aanhalingstekens de link in van de pagina waarop de tabel of lijst staat die je wilt scrapen.Let op: de aanhalingstekens zijn nodig omdat het om een tekst gaat gaat die onderdeel is van een functie.

    • “table” of “list”

      Met deze parameter geef je aan of je een tabel of lijst wilt importeren. Let op: voor de formule gebruik je het Engelse “list” of “table”. Gebruik opnieuw aanhalingstekens omdat het hier ook om tekst gaat die onderdeel is van een functie.

    • 2

      Met dit getal geef je aan welke tabel of lijst je wilt importeren: de eerste, tweede of de derde? Omdat het om een getal gaat, zijn hier geen aanhalingstekens nodig. Vaak is het een kwestie van trial & error – gewoon proberen welk nummer bij de tabel/lijst hoort.

Voorbeeld

In deze spreadsheet heb ik op het eerste tabblad de tabel met winnaars van de Elfstedentocht geimporteerd vanaf een wikipedia-pagina.
Tabel Elfstedentocht winnaars - Wikipedia

Op de pagina is duidelijk te zien dat het om een tabel gaat, daarom gebruik ik onderstaande formule:
=ImportHTML("https://nl.wikipedia.org/wiki/Elfstedentocht", "table", 2) In de spreadsheet kun je deze formule terugvinden in cel A1.

Scrapen_met_een_Google_Spreadsheet_-_importHTML_-_Google_Sheets

Tabel of lijst

Je kunt een pagina bekijken, maar je kunt ook in de broncode van een webpagina opzoeken of het om een tabel of lijst gaat.

  1. Hiervoor klik je met je rechtermuisknop (of CTRL+muisklik voor mac) op de pagina die je wilt scrapen, en klik op ‘paginabron weergeven’.
  2. In het nieuwe venster dat opent zie je de HTML-code van de pagina. Op deze pagina ga je met CTRL+F (Apple-computers: appeltje+F) op zoek naar een tabel of een lijst
  3. Hiervoor gebruik een van de volgende zoek opdrachten:
    zoekopdrachten tabel of lijst

    • Gebruik ‘table’ om een tabel te vinden.
    • Gebruik ul of ol – bij voorkeur tussen <> haken – voor het vinden van een lijst. Hierbij staat “ul” voor ‘unordered list’, en “ol” voor ‘ordered list’.

    Als je een tabel of lijst vind met daarin de informatie die je wilt importeren, dan weet je welke parameters je moet gebruiken om dat te doen.

Op de Elfsteden-pagina van Wikipedia staat in de broncode op de 199e regel ‘table’, met daarna de namen van de winnaars. Hierdoor weet ik zeker dat ik met “table” de juiste parameter heb.

Broncode Elfstedentocht-pagina Wikipedia

Data opslaan

Als je eenmaal een spreadsheet met een scraper hebt, dan kun je die gewoon laten staan. Mocht er een nieuwe Elfstedentocht-winnaar bij komen in de tabel, dan wordt die automatisch toegevoegd aan mijn spreadsheet. Deze koppeling heeft ook nadelen: als iemand de tabel verwijdert, dan is mijn spreadsheet leeg omdat de functie dan niet meer werkt. Daarom is het slim om je spreadsheet te downloaden. Dit kun je doen via het menu:

downloaden data google spreadsheet

Filed under Geen categorie