Hakurobottien suunnitteluperiaatteiden soveltaminen Scrapylla
Rauhala, Jari (2020)
Rauhala, Jari
2020
Tieto- ja sähkötekniikan kandidaattiohjelma - Degree Programme in Computing and Electrical Engineering, BSc (Tech)
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-09-22
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202008246600
https://urn.fi/URN:NBN:fi:tuni-202008246600
Tiivistelmä
Hakurobotti on yksi internetin valtavan tietomäärän hallintaan kehitetyistä työkaluista. Se on ohjelma, joka lähettää palvelimille pyyntöjä ja jäsentää vastauksena saamansa datan. Poimimalla datasta linkkejä hakurobotti voi kulkea sivulta toiselle ja saada näin kerättyä suuriakin määriä tietoa. Yksi keskeisimmistä käyttökohteista hakuroboteille ovat hakukoneet, jotka käyttävät niitä tietovarastojensa rakentamiseen. Hakurobotteja on käytetty myös muussa kaupallisessa toiminnassa sekä tieteellisen tutkimuksen apuvälineinä. Vaikka eri hakurobottien käyttökonteksti yksityiskohdiltaan ainutkertainen ja siten suunnitteluratkaisut ovat erilaisia, on niissä paljon yhtäläisyyksiä. Tässä työssä selvitetään, mitkä ovat keskeisimmät hakurobottien suunnittelua koskevat kysymykset ja kuinka käyttökonteksti vaikuttaa niiden soveltamiseen.
Tärkeimmät suunnittelukysymykset koskevat sitä, millä tavoin ja kuinka usein hakurobotti liikkuu sivulta toiselle, samalla huomioon ottaen myös sivustojen palveluntarjoajan tarpeet. Erityisesti tapauksissa, kuten hakukoneiden tekemissä hauissa, ladattavan tiedon määrä voi kasvaa hyvin suureksi, jolloin myös resurssien kulutus on merkittävää. Strategisen suunnittelun tavoitteena onkin optimoida hakurobotin toimintaa mahdollisimman resurssitehokkaaksi, samalla varmistaen laadukkaiden tulosten saamisen pitkällä aikavälillä. Strategisen suunnittelun lisäksi sekä hakurobotin suunnittelijan että sivustojen ylläpitäjän tulee ottaa huomioon eettisyyteen sekä turvallisuuteen liittyviä kysymyksiä. Hakurobotit ovat tehokkaita haalimaan tietoa – joskus sellaistakin, jota tiedon haltija ei tahtoisi luovuttaa. Molempien osapuolten etujen varmistamiseksi on kehitetty Robotin rajausstandardi, johon ylläpitäjä voi määrittää sivustoaan koskevia ehtoja.
Työn konstruktiivisessa osassa suunnittelukysymysten pohjalta määritetään turvallisen ja eettisen toiminnan mahdollistava konteksti ja toteutetaan siinä toimiva hakurobotti. Ohjelma kirjoitetaan avoimen lähdekoodin viitekehyksellä Scrapylla ja se hakee ja käsittelee Yleisradion uutissisältöä. Sillä suoritetaan eri algoritmeja hyödyntäen kaksi eri hakua, joiden tuloksista voidaan päätellä, että syvyyteen ensin -algoritmilla päästään käsiksi vanhempaan uutissisältöön nopeammin, kuin leveyteen ensin -algoritmilla. Suoritetut haut antavat viitteitä sovellettujen suunnitteluratkaisuiden toimivuudesta, vaikkei yleispäteviä johtopäätöksiä voidakaan vetää. Kuitenkin, koska internet määrittää kaikille sen käyttäjille tietyiltä osin rajatun kontekstin, ovat tämän työn suunnitteluratkaisut ja tulokset siten muihin tapauksiin vertailukelpoisia ja oikeellisia.
Tärkeimmät suunnittelukysymykset koskevat sitä, millä tavoin ja kuinka usein hakurobotti liikkuu sivulta toiselle, samalla huomioon ottaen myös sivustojen palveluntarjoajan tarpeet. Erityisesti tapauksissa, kuten hakukoneiden tekemissä hauissa, ladattavan tiedon määrä voi kasvaa hyvin suureksi, jolloin myös resurssien kulutus on merkittävää. Strategisen suunnittelun tavoitteena onkin optimoida hakurobotin toimintaa mahdollisimman resurssitehokkaaksi, samalla varmistaen laadukkaiden tulosten saamisen pitkällä aikavälillä. Strategisen suunnittelun lisäksi sekä hakurobotin suunnittelijan että sivustojen ylläpitäjän tulee ottaa huomioon eettisyyteen sekä turvallisuuteen liittyviä kysymyksiä. Hakurobotit ovat tehokkaita haalimaan tietoa – joskus sellaistakin, jota tiedon haltija ei tahtoisi luovuttaa. Molempien osapuolten etujen varmistamiseksi on kehitetty Robotin rajausstandardi, johon ylläpitäjä voi määrittää sivustoaan koskevia ehtoja.
Työn konstruktiivisessa osassa suunnittelukysymysten pohjalta määritetään turvallisen ja eettisen toiminnan mahdollistava konteksti ja toteutetaan siinä toimiva hakurobotti. Ohjelma kirjoitetaan avoimen lähdekoodin viitekehyksellä Scrapylla ja se hakee ja käsittelee Yleisradion uutissisältöä. Sillä suoritetaan eri algoritmeja hyödyntäen kaksi eri hakua, joiden tuloksista voidaan päätellä, että syvyyteen ensin -algoritmilla päästään käsiksi vanhempaan uutissisältöön nopeammin, kuin leveyteen ensin -algoritmilla. Suoritetut haut antavat viitteitä sovellettujen suunnitteluratkaisuiden toimivuudesta, vaikkei yleispäteviä johtopäätöksiä voidakaan vetää. Kuitenkin, koska internet määrittää kaikille sen käyttäjille tietyiltä osin rajatun kontekstin, ovat tämän työn suunnitteluratkaisut ja tulokset siten muihin tapauksiin vertailukelpoisia ja oikeellisia.
Kokoelmat
- Kandidaatintutkielmat [8695]