Antichaos

Analyse - Optimalisatie - Ontwikkeling

Webdata importeren in Google Docs

Als je gegevens uit een tabel of lijst vanaf een webpagina wilt importeren in spreadsheet heeft Google Docs een handige functie: met "ImportHTML" importeer je de gegevens vanaf een HTML-pagina direct in je spreadsheet. En moeilijk is het niet.

Welke webpagina? 

Eerst zoek je de URL op van de pagina waar je data van wilt kopieren. 

Stel je voor dat je Queen noteringen in de Radio 2 Top 2000 wilt hebben in Excel.
Die staant keurig uitgeschreven op http://nl.wikipedia.org/wiki/Queen

Welke tabel?

Voor de import moet je bepalen de hoeveelste tabel het op deze pagina is. Zo te zien is het de vijfde.

Importeer in Google Docs

Het importeren zelf is heel simpel:

  • Maak in Google Docs een nieuwe spreadsheet aan
  • Ga in de cel staan waar de tabel moet beginnen
  • Type daar: =ImportHtml("http://nl.wikipedia.org/wiki/Queen";"tabel';5), waarbij:
    • De eerste waarde de URL is waar je de gegevens van wilt kopieren
    • De tweede waarde het soort data is: tabel of lijst ("table" of "list")
    • De derde waarde de 'hoeveelste' tabel het op deze pagina is
    • "Enter"

Er verschijnt data - maar niet de juiste. 

Het lijkt alsof dit de eerste tabel op de pagina is, maar Wikipedia gebruikt zelf diverse tabellen voor onder andere de navigatie. Als je doortelt is de "top 2000" lijst de 9e - dus de formule wordt: 

=ImportHtml("http://nl.wikipedia.org/wiki/Queen";"tabel';9)

Et voila. 

Het mooie/handige is dat deze lijst automatisch wordt ge-update in Google Docs, zodra er een wijziging in de Wikipedia pagina wordt gedaan.

 

Lijsten

Voor lijsten werkt het op exact dezelfde manier: om de eerste lijst met headline van Nu.nl binnen te halen hoef je in Google Docs alleen maar deze formule te gebruiken:

 

=ImportHtml("http://www.nu.nl";"list';10)

 

je blijft natuurlijk wel altijd afhankelijk van de bewuste website: zodra zij een update doen in content (extra tabellen, lijsten) of template kan het zo zijn dat je mooie import-functie niet meer werkt.

 

 

 

 

 

 

 

 

'URL' is de URL van de HTML-pagina. 'List' of 'table' geeft aan welk structuurtype vanaf de webpagina wordt opgehaald. Voor 'list' zoekt de functie naar inhoud van de <UL>-, <OL>- of <DL>-tags. Voor 'table' zoekt de functie naar <TABLE>-tags. Index is de op 1 gebaseerde index van de tabel of de lijst op de bronwebpagina. De indexen worden apart beheerd zodat zowel een lijst 1 als tabel 1 kan bestaan.

 

Voorbeeld: =ImportHtml("http://en.wikipedia.org/wiki/Demographics_of_India"; "table";4). Deze functie geeft als resultaat demografische informatie voor de bevolking van India.

 

Opmerking: per spreadsheet kunnen maximaal 50 ImportHTML-functies worden gebruikt.

 

 

 

Formule

=ImportHtml("http://en.wikipedia.org/wiki/List_of_bank_failures_in_the_United_States_...E2%80%93present%29"; "table";2)

Bewerken of exporteren

 


Door Johan de Groot | 30 december 2011