Haravat heilumaan

Laura Järvinen
RND Works
Published in
3 min readNov 9, 2020

--

Mitä yhteistä on syksyn lehdillä ja avoimella datalla? Molempia voi kerätä haravoimalla. Mutta toisin kuin maahan putoilevia lehtiä, dataa on saatavilla ympäri vuoden.

Edellisessä kirjoituksessa oli listattuna monia avoimen datan kokoelmia ja keinoja datajoukkojen etsimiseen. Mutta yhtä tiedon lähdettä käsiteltiin vain vähän sivuten. Nimittäin haravoitua tietoa, johon tämä kirjoitus keskittyy.

Mitä tiedon haravointi on?

Datan haravointi (data scraping) tarkoittaa tiedon automaattista kokoamista ihmisen luettavassa olevasta muodosta koneluettavaan muotoon. Ja jos lähteenä on verkkosivu, puhutaan verkkosivun haravoinnista (web scraping).

Tietojen haravointia tehdään monesta syystä ja samalla tekniikalla voidaan tehdä myös hallaa, kuten esimerkiksi jumittaa palvelu pommittamalla sitä tuhansilla kutsuilla eri servereiden kautta. Mutta verkkosivujakin voi haravoida ihan fiksusti ja avoimen datan keräämiseen tietojen haravointi on merkittävä tekniikka. Siksi sitä käyttävät myös kunnialliset toimijat kuten Euroopan dataportaali, johon edellistekstissä viittasin. Lainaus heidän sivultaan, heti otsikon alta:

“Euroopan dataportaali haravoi metadataa julkisen sektorin informaatiosta, joka on saatavilla julkisissa dataportaaleissa Euroopan eri maissa.”

Eli Euroopan dataportaali käy läpi lukuisia avoimen datan portaaleja ja keräilee sieltä dataa koskevia tietoja eli metadataa.

Verkosta haravoitua tietoa on käytetty hyödyksi myös esimerkiksi Työ- ja elinkeinoministeriön AirBnB:n toimintaa koskevassa raportissa. Verkkoharavoinnin avulla on voitu todentaa majoitustietoja, jotka on saatu tavanomaisempien tiedonkeruutapojen avulla. Eli vähän kuin voimapihdit, jotka pyörävarkaan käsissä muuttuvat epäilyttäviksi, ei tietojen haravoinnissa työkaluna sinäänsä ole mitään vikaa.

Mistä oma tietoharava?

Verkkoharavointia voi tehdä JavaScript kirjastojen avulla, joka onkin aika näppärää moniin tarkoituksiin. Mutta avoimesta datasta puhuttaessa yleensä käydään läpi isoa määrää dataa verkkosivujen sisällön suodattamisen sijaan. Siihen käytetään ohjelmointikieliä, jotka käsittelevät tehokkaasti suuria tietomääriä, kuten kielet R ja Python.

Datan haravointiin on saatavilla myös työkaluja. Opendata-tools.org on sivusto, jolta löytyy työkaluja julkisten datajoukkojen tutkimiseen ja jakamiseen.

Aikaisemmin linkkaamani Kaggle.comin datajoukoista merkittävä osa on koostettu haravoimalla. Sen lisäksi esimerkiksi Redditistä löytyy r/datasets, jonka käyttäjät jakavat itse haravoimalla koostaneitaan tietojoukkoja.

Piilotettu data vs. datan haravointi

Piilotetun datan etsintä on osittain haravoinnin vastakohta, koska silloin kaivetaan esiin tietoa, joka on nykyisellään olemassa vain koneluettavassa muodossa. Jos tutkit verkkosivun lähdekoodia, saatat löytää sieltä tietoa, joka kulkee sivun mukana piilotettuna. Avoimen datan käyttäjälle tällaisessa tiedossa on se etu, että se on jo koneluettavassa muodossa. Eli sitä ei yleensä tarvitse paljoakaan muokkailla omaan käyttöön sopivaksi.

Jos nettisivun lähdekoodin tutkaileminen ei ole sinulle ongelma, kannattaa tutkia onko avoimen datan lähteestä kaipaamaasi tietoa sieltä jo valmiiksi ohjelmalle optimoidussa muodossa. Myöhemmin harjoittelemme avoimen datan käyttämistä ja huomaamme kuinka kätevää olisi, jos kaikki tiedot olisi tallennettuna nimenomaan ohjelmia varten.

Kerätty data ja sen käyttöoikeudet

Tähän asti olemme käsitelleet paljon dataa, mutta entäs se avoimuuden aspekti? Avoimuuden määritelmään kuului, että tietoa saa muun muuassa muokata. Joten datan haravointi ja tiedon poimiminen sekä edelleen muokkaaminen koneluettavaan muotoon on aivan sallittua.

Osa avoimesta tiedosta on piilotettu, jolloin tämän piilotetun tiedon etsiminen ja käyttäminen on myös luvallista. Tarkastele vaikka tätä ja tätä versiota samasta Yhdistyneen Kuningaskunnan palvelusta kertovasta sivusta. Sivujen osoitteet eroavat niin, että jälkimmäisen loppuun on lisätty “.json”. Tämä juuri sen takia, että kyseinen tieto olisi helpompi ottaa uudelleen käyttöön. Eli piilotettukin tieto voi kuulua avoimen käyttöoikeuden lisenssin piiriin.

Mutta kaikki se tieto, mikä on netissä nähtävillä ja kerättävissä, ei tietenkään ole lisenssivapaata. Jos et ole varma, saako jonkin sivuston tietoja käyttää, kannattaa kysyä sitä sivun tai palvelun ylläpitäjältä itseltään. Kannattaa huomioida, että vaikka on tietoa, jota ei voi alistaa tekijänoikeuksille, sen esitysmuodon voi. Esimerkiksi vaikkapa fakta “aurinko on tähti” ei kuulu tekijänoikeuksien sisään, mutta se muoto, jossa tämä fakta sivulla esitetään, voi kuulua tekijänoikeuksien piiriin. Kannattaa siis olla tarkkana, kun koostaa omia datajoukkojaan, jossei lähde ole ykskantaan ilmoittanut tietojensa olevan vapaata.

Millaisia projekteja avoimen datan avulla on tehty? Saatat löytää uusia suosikkeja tai jo vanhoja tuttuja. Niitä tulossa seuraavaksi.

--

--

Laura Järvinen
RND Works

Opetan ja opiskelen koodaamista — Learning and teaching programming.