Veebiämblik

Allikas: Vikipeedia
Veebiämbliku arhitektuur

Veebiämblik (ingl web spider, web crawler) on automatiseeritud programm, mis otsib kriteeriumite järgi uusi veebidokumente ja lisab nende andmed otsinguandmebaasidesse.[1]Veebiämbliku ülesandeks on analüüsida iga külastatava lehe sisu, koguda mitmesugust teavet, näiteks pealkirjade, piltide, märksõnade ja linkide kohta.[2]

Esimesed veebiämblikud[muuda | muuda lähteteksti]

Veebiämbliku mõiste tekkis koos veebi (ingl web, täisnimi World Wide Web, WWW) arenguga 1990. aastatel. [3]Esimese veebiämbliku töötas välja Matthew Gray 1993. aastal.[4] Selle nimeks sai World Wide Web Wanderer, veebiämbliku eesmärgiks oli loendada ligipääsetavate lehtede arvu ning mõõta seeläbi veebi suurust.[4] 1994. aastal töötas Brian Pinkerton välja WebCrawleri. WebCrawleri otsingumootor hakkas indekseerima veebisaitide täistekste, mis võimaldas kasutajatel otsida veebilehel ükskõik millist sõna, mis muutis kõigi tulevaste otsingumootorite standardit. [5] Oliver McBryani 1994. aastal välja töötatud World Wide Web Worm (WWWW) oli veel üks esimesi veebiämblikul baseeruvaid otsingumootoreid. [6] Wormi andmebaasis oli 1994. aasta seisuga kogutud üle 300 000 multimeediumivara ja indekseeritud üle 100 000 veebilehe.[3]

Tööpõhimõte[muuda | muuda lähteteksti]

Veebiämblikud liiguvad veebis hüperlinkide kaudu saadaolevatele veebisaitidele, indekseerivad iga veebisaidi sisu ning avavad kõik leitud URL-id uute veebisaitide analüüsimiseks, kontrollides samal ajal, kas kõik HTML-failid ja lingid on ka asjakohased.[7]

Veebiämblike tööpõhimõtte võib üldiselt kokku võtta järgnevalt [8]:

  • Veebiämbliku töö algab ette antud veebiaadressidest.
  • Tehakse HTTP-päringuid, et koguda uusi veebilehti, mis on seotud algsete lehtedega.
  • Seejärel analüüsib ämblik veebilehe HTML-koodi, et koguda asjakohast teavet, näiteks pilte.
  • Kogutud ja külastamata veebilehed lisatakse järjekorda.
  • Järjekorrast valitakse uus veebiaadress ning seejärel korratakse kogu protsessi uuesti, kuni enam järjekorras lehti pole või jõutakse mingi seatud piirini.
  • Kõike seda tehes salvestatakse veebilehtede andmed andmebaasi.

Sealjuures peaksid veebiämblikud järgima ka eetikanorme ja veebipõhist protokolli(robots.txt faili), mis annab juhiseid, milliseid veebilehti võib ämblik külastada ja milliseid peaks see ignoreerima.[9]

Veebiämblike tüübid[muuda | muuda lähteteksti]

Veebiämblike implementeerimisel on proovitud erinevaid lähenemisviise. Järgnevas loetelus tutvustatakse neid lähemalt.

Suunatud veebiämblik[muuda | muuda lähteteksti]

Suunatud veebiämblik (ingl Focused web crawler) on loodud selleks, et koguda omavahel seotud lehti, mis vastavad ühele kindlale teemale. [10]Kuna allalaadimiste hulk on väiksem, siis on see tüüp ökonoomsem riistvara ja võrguressursside suhtes.[10]

Järkjärguline veebiämblik[muuda | muuda lähteteksti]

Seda tüüpi veebiämblik (ingl Incremental crawler) jätkab veeblehtede külastamist ka pärast algset kogumist mingi piiri ulatuses, et järk-järgult uuendada veebilehtede loendit.[11] Uuendamise käigus värskendab veebiämblik olemasolevaid lehti ning asendab vähemolulised lehed olulisematega.[11]

Hajus veebiämblik[muuda | muuda lähteteksti]

Hajus veebiämblik (ingl Distributed crawler) kasutab hajutatud arvutustehnikat, kus mitu ämblikku töötab koos veebi maksimaalse katvuse tagamiseks.[10] Keskne server juhib sõlmede suhtlust ja sünkroniseerimist. [10]

Paralleelne veebiämblik[muuda | muuda lähteteksti]

Paralleelse veebiämbliku (ingl Parallel crawler) puhul jagatakse veeb osadeks ning iga paralleelne lõim vastutab ühe osa eest. [12] See suurendab allalaadimiskiirust ja võimaldab efektiivselt hallata suuremahulist veebi.[12] Erinevad lõimed võivad töötada füüsiliselt erinevates kohtades, mistõttu on võrgukoormus väiksem ja üldine jõudlus parem.[12]

Rakendusvaldkonnad[muuda | muuda lähteteksti]

Veebiämblik kõige tavalisem eesmärk on luua andmebaasi veebilehe kohta indeks, mistõttu on veebiämblikud otsingumootorite töö aluseks. [13]Kuid veebiämblikel on ka palju muid kasutusalasid. Konkurentsianalüüsis saab veebiämblik jälgida konkurentide hinnapoliitikat ja tooteinfot. [14] Ämblikke saab kasutada ka turunduses, kus veebiämblikud aitavad koguda tarbijate eelistuste andmeid, võimaldades sisukamate reklaamistrateegiate loomist. [15]Teadusuuringutes kasutatakse veebiämblikke suuremahuliste andmekogumisprojektide jaoks, hõlbustades näiteks ühiskondlike trendide mõistmist.[16]

Eetilised kaalutlused[muuda | muuda lähteteksti]

Kuigi veebis roomamine on legaalne tegevus, tõstatab veebiämblike kasutamine siiski eetilisi küsimusi. [17] Põhjuseks tuuakse, et internetis leiduvate andmete kasutamise õiguslik raamistik on ebaselge ning valdkonnas puuduvad ühtsed eeskirjad.[18] Rõhutatakse, et andmekraapimisel on oluline olla teadlik, kuidas ämblik võib kahju tekitada, ning rakendada meetmeid, et selliseid olukordi vältida. [18] Halvasti programmeeritud veebiämblik võib põhjustada näiteks teenusetõkestusründeid, mille tavapärane eesmärk on teatud veebilehe kättesaadavuse häirimine või peatamine, muutes selle kasutajatele kättesaamatuks. [19] Andmekraapimisega seotud DoS-rünnakud on sageli tahtmatud, kuid kahjude vältimiseks peab ämblik olema implementeeritud korralikult, samuti peaks veebiämblik pidama kinni robots.txt failist, kus on kirjeldatud veebilehe omaniku poolt, kuidas võiks lehel toimida ning vajadusel piirama päringute sagedust.[18] Individuaalse privaatsuse seisukohast tuuakse välja, et veebikraapimine võib ohustada isikute privaatsust, kuna kogutud andmed võivad tuvastada isikuid ka anonüümsete kasutajate puhul. [20]Õiguste rikkumine võib toimuda ka siis, kui kasutatakse tarbijate andmeid ilma nõusolekuta. [20]Organisatsioonide privaatsuse ja ärilise väärtuse seisukohast võib veebikraapimine paljastada ärisaladusi, omandiõigusi ja muid konfidentsiaalseid andmeid, kahjustades organisatsiooni mainet ja tuues kaasa rahalisi kahjusid.[20] Samuti võivad veebikraapimisega seotud tegevused mõjutada andmekvaliteeti ja otsustusprotsesse, põhjustades valeandmete levikut ja tuues sellega kaasa negatiivseid tagajärgi [20].

Tuntud veebiämblikke[muuda | muuda lähteteksti]

Ettevõttesisesed veebiämblikud[muuda | muuda lähteteksti]

  • Applebot on Apple'i veebiämblik. Näiteks Siri ja Spotlight Suggestions kasutavad Applebotti.[21]
  • Bingbot on Microsofti veebiämblik, mida kasutatakse teabe kogumiseks, et luua veebist otsitav register. Bingbot on väidetavalt maailmas 3. kõige aktiivsem ämblik.[22]
  • Baiduspider on Baidu ametlik veebiämblik. Baiduspider on kolme tüüpi roomiku üldnimetus: lauaarvuti-ämblik, mis simuleerib kasutajat töölaual; mobiilseadme-ämblik, mis simuleerib kasutajat mobiilseadmes; ja miniprogrammide ämblik, mis simuleerib kasutajat Baidu mobiilirakenduses.[23]
  • DuckDuckBot on DuckDuckGo veebiämblik.[24]
  • Googlebot[25] on Google'i kahte tüüpi veebiämblike üldnimi:
    • Googlebot Desktop – töölaua-ämblik, mis simuleerib kasutajat töölaual.
    • Googlebot Smartphone – mobiilseadme-ämblik, mis simuleerib kasutajat mobiilseadmes.

Kommertsveebiämblikud[muuda | muuda lähteteksti]

  • Diffbot – programmeeritav veebiämblik, mis on saadaval API-na.[26]
  • SortSite – veebilehtede analüüsimiseks mõeldud veebiämblik.[27]
  • Swiftbot – tarkvarateenusena saadaval Swiftype'i veebiämblik.[28]

Avatud lähtekoodiga veebiämblikud[muuda | muuda lähteteksti]

  • Apache Nutch – muudetav ja skaleeritav veebiämblik Javas, mis põhineb Apache Hadoopil ja on laiendatav vastavalt kasutajaspetsiifilistele ülesannetele.[29]
  • Heritrix – Interneti arhiivimiseks mõeldud ämblik, mis on kirjutatud Javas.[30]
  • HTTrack – veebiämblik, mis võimaldab kasutajatel ülemaailmseid veebisaite Internetist kohalikku arvutisse alla laadida.[31]
  • Scrapy – avatud lähtekoodiga raamistik, mis on kirjutatud Pythonis.[32]

Ettevõttesisesed veebiämblikud on olulised oma platvormide veebiotsinguteks ja teenuste toimimiseks. Kommertstarkvara veebiämblikud pakuvad spetsiifilisi analüüsivahendeid ja teenuseid äriliseks otstarbeks. Avatud lähtekoodiga veebiämblikud võimaldavad kohandatud ja skaleeritavaid veebiämblikulahendusi vastavalt vajadustele.

Viited[muuda | muuda lähteteksti]

  1. "e-Teatmik: IT ja sidetehnika seletav sõnaraamat". web.archive.org. 8. detsember 2012. Originaali arhiivikoopia seisuga 8. detsember 2012. Vaadatud 4. detsembril 2023.
  2. "What is a Web Crawler?". Simplilearn.com (Ameerika inglise). 10. detsember 2019. Vaadatud 4. detsembril 2023.
  3. 3,0 3,1 Boutros, Eric (8. juuli 2022). "A Brief History of Web Crawlers". Soft Surge (Ameerika inglise). Vaadatud 4. detsembril 2023.
  4. 4,0 4,1 "Matthew Gray Develops the World Wide Web Wanderer. Is this the First Web Search Engine? : History of Information". historyofinformation.com. Vaadatud 4. detsembril 2023.
  5. "Short History of Early Search Engines – The History of SEO". web.archive.org. 21. jaanuar 2019. Originaali arhiivikoopia seisuga 21. jaanuar 2019. Vaadatud 4. detsembril 2023.
  6. "Oliver McBryan Develops a Search Engine Called the "World Wide Web Worm" : History of Information". www.historyofinformation.com. Vaadatud 4. detsembril 2023.
  7. "What is a web crawler: how these data spiders optimize the internet". IONOS Digital Guide (Ameerika inglise). 20. oktoober 2020. Vaadatud 4. detsembril 2023.
  8. Bhagyashree (9. oktoober 2023). "Unraveling the Mechanics of Web Crawlers". PromptCloud (Ameerika inglise). Vaadatud 4. detsembril 2023.
  9. Giles, C.Lee (oktoober 2010). "The Ethicality of Web Crawlers". Vaadatud 4. detsember 2023.
  10. 10,0 10,1 10,2 10,3 Chaitra, P. G.; Deepthi, V.; Vidyashree, K. P.; Rajini, S. (2020). Choudhury, Sushabhan; Mishra, Ranjan; Mishra, Raj Gaurav; Kumar, Adesh (toim-d). "A Study on Different Types of Web Crawlers". Intelligent Communication, Control and Devices. Advances in Intelligent Systems and Computing (inglise). Singapore: Springer: 781–789. DOI:10.1007/978-981-13-8618-3_80. ISBN 978-981-13-8618-3.
  11. 11,0 11,1 Cho, Junghoo (detsember 2000). "The Evolution of the Web and Implications for an Incremental Crawler". Vaadatud 4. detsember 2023.
  12. 12,0 12,1 12,2 Ahmadi-Abkenari, Fatemeh; Selamat, Ali (1. veebruar 2012). "An architecture for a focused trend parallel Web crawler with the application of clickstream analysis". Information Sciences. 184 (1): 266–281. DOI:10.1016/j.ins.2011.08.022. ISSN 0020-0255.
  13. "What is a web crawler and how does it work?". en.ryte.com. Vaadatud 4. detsembril 2023.
  14. Roesler, Peter (3. veebruar 2022). "How To Use Web Crawlers in Your Digital Marketing CampaignsWeb crawlers are now an imperative part of any site's digital marketing experience and necessary to maintain a competitive edge". Inc.
  15. "How Can Web Crawlers Usage Benefit Your Business?" (Ameerika inglise). 12. juuni 2022. Vaadatud 4. detsembril 2023.
  16. Nemeslaki, András (21. september 2011). "Web crawler research methodology" (PDF). econstor.eu. Vaadatud 4. detsember 2023.
  17. Densmore, James (23. juuli 2019). "Ethics in Web Scraping". Medium (inglise). Vaadatud 4. detsembril 2023.
  18. 18,0 18,1 18,2 Walby, Kevin; Dick, Kevin; Luscombe, Alex (juuni 2022). "Algorithmic thinking in the public interest: navigating technical, legal, and ethical hurdles to web scraping in the social sciences". Vaadatud 4. detsember 2023.
  19. Rudnytskyi, Matthew Beckman, Stéphane Guerrier, Justin Lee, Roberto Molinari, Samuel Orso & Iegor. Chapter 10 Web scraping | An Introduction to Statistical Programming Methods with R.
  20. 20,0 20,1 20,2 20,3 Krotov, Vlad; Johnson, Leigh (1. juuli 2023). "Big web data: Challenges related to data, technology, legality, and ethics". Business Horizons. 66 (4): 481–491. DOI:10.1016/j.bushor.2022.10.001. ISSN 0007-6813.
  21. "About Applebot". Apple Support (inglise). 10. juuli 2020. Vaadatud 4. detsembril 2023.
  22. "Seo Glossary definition page". ahrefs.com (inglise). Vaadatud 4. detsembril 2023.
  23. "What is Baiduspider and How to Manage It". QPSOFTWARE (inglise). Vaadatud 4. detsembril 2023.
  24. DuckDuckGo. "Is DuckDuckBot related to DuckDuckGo?". DuckDuckGo Help Pages. Vaadatud 4. detsembril 2023.
  25. "What Is Googlebot | Google Search Central | Documentation". Google for Developers (inglise). Vaadatud 4. detsembril 2023.
  26. "Diffbot | Knowledge Graph, AI Web Data Extraction and Crawling". Diffbot (inglise). Vaadatud 4. detsembril 2023.
  27. "SortSite - web site usability and accessibility testing". www.powermapper.com. Vaadatud 4. detsembril 2023.
  28. "About Swiftbot". Swiftype (inglise). Vaadatud 4. detsembril 2023.
  29. Committee, Apache Nutch Project Management. "Apache Nutch™". nutch.apache.org (Ameerika inglise). Vaadatud 4. detsembril 2023.
  30. "Heritrix - Home Page". crawler.archive.org. Vaadatud 4. detsembril 2023.
  31. "HTTrack Website Copier - Free Software Offline Browser (GNU GPL)". www.httrack.com. Vaadatud 4. detsembril 2023.
  32. "Scrapy | A Fast and Powerful Scraping and Web Crawling Framework". scrapy.org. Vaadatud 4. detsembril 2023.