Veb-indekser

Из Википедије, слободне енциклопедије
(преусмерено са Veb indekser)

Veb-indekser (eng. Web crawler, Web spider, ant, automatic indexer) je internet robot koji sistematski pretražuje veb, uglavnom u svrhe indeksiranja veb-lokacija. Takođe je poznat i kao program tragač ili pretraživač veb-lokacija. U daljem tekstu će se koristiti pojam tragač.

Pretraživači veba i neki sajtovi koriste tragače da ažuriraju veb-sadržaj ili indekse sadržaja drugih veb-sajtova. Programi tragači mogu da iskopiraju sve strane koje posete radi kasnijeg procesiranja od strane pretraživača veba koji indeksira stranice koje su preuzete, tako da bi ih korisnici brže pronalazili.

Programi tragači mogu da izvrše validaciju hiperveza i HTML koda. Takođe se mogu koristiti za ekstrakciju podataka sa veba.

Način rada programa tragača[уреди]

Tragač rad otpočinje sa nizom veb-adresa koje treba posetiti. Te adrese se nazivaju semena. Kako program tragač posećuje te veb-adrese, on prepoznaje sve hiperveze koje se nalaze na toj stranici i dodaje ih na listu veb-adresa koje treba posetiti, koja se naziva granica traganja. Kasnije se te stranice rekurzivno posećuju prema skupu politika posećivanja.

Velika količina veb-stranica povlači kao posledicu da da tragač može da preuzme samo određeni broj veb-stranica u zadatom vremenskom roku, tako da je prioritet preuzimanja stranica jako bitan. Veliki broj promena povlači činjenicu da su stranice možda promenjene ili čak izbrisane.

Broj stranica za posećivanje koje generiše serverski softver, takođe otežava tragačima da izbegnu preuzimanje duplikata sadržaja. Postoji bezbroj kombinacija HTTP GET parametara, od kojih će samo mali broj vratiti jedinstven sadržaj. Na primer, uzmimo najprostiju on-lajn (eng. on-line) galeriju slika koja nudi tri opcije korisnicima, navedene pomoću HTTP GET parametara u veb-adresi. Ako postoji četiri načina da se sortiraju slike, tri izbora za velicinu ikonica, dva formata podataka, i opcija da onemogućimo sadržaj koji pruža korisnik, onda istom sadržaju možemo da pristupimo sa 48 različitih adresa, sve nastale od onog sto se može povezati na sajtu. Ova matematička kombinacija stvara problem tragačima, jer oni moraju da sortiraju kroz bezbroj kombinacija relativno malih promena da bi došli do jedinstvenog sadržaja.

Kao što su Edwards i saradnici naveli : "Uzevši u obzir to da opseg za rad tragača nije beskonačan, i ima svoju cenu, neophodno je da pretraživanje veba bude ne samo skalabilno, već i efikasno, ako želimo da održimo neku razumnu meru kvaliteta i svežine." Tragač mora pri svakom koraku pažljivo da bira koju će sledeću stranicu da poseti.

Ponašanje programa tragača je rezultat sledeće kombinacije politika:

  • politika odabira, koja navodi koje stranice treba preuzeti,
  • politika ponovnog posećivanja, koja navodi kada proveriti da li je došlo do promene stranice,
  • politika „lepog ponašanja“, koja navodi načine za izbegavanje preopterećenje sajtova,
  • politika paralelizacije, koja navodi kako upravljati distibuiranim tragačima.

Politike programa tragača[уреди]

Politika odabira[уреди]

Uzevši u obzir trenutnu veličinu veba, čak i veliki pretraživači veba pokrivaju samo udeo od dela dostupnog javnosti. Istraživanjaa sprovedena 2005. godine pokazala je da [Pretraživač veba|pretraživači veba]] velikih razmera ne indeksiraju više od 40 % — 70 % indeksablinog veba; prethodna istraživanja od strane Stiva Lorensa i Lija Džilsa pokazale su da ni jedan pretraživač veba nije indeksirao više od 16 % veba 1999. godine. Pošto tragač uvek preuzima samo frakciju veb-stranice, veoma je poželjno da preuzeta frakcija sadrži najvažnije stranice, a ne samo nasumične uzorke veba.

Ovo zahteva jedinicu važnosti da bi se odredio prioritet veb-stranica. Vrednost stranice je funkcija njenog unutrašnjeg kvaliteta, njene popularnosti u pogledu hiperveza ili posećenosti, čak i njene veb-adrese. (Ovo drugo se odnosi na slučaj vertikalnih veb-pretraživača, ograničenih na jedinstveni internet domen najvišeg nivoa. Dizajniranje dobre politike odabira otežava još i činjenica da mora da radi sa delimičnim informacijama, kako kompletni skup veb-stranica nije poznat tokom rada programa tragača.

Janghu Čo i saradnici su sproveli prvo istraživanje o politikama za planiranje pretrage lokacija po vebu. Njihov skup podataka je bio 180.000 stranica sa domena stanford.edu, na kom su sprovedene simulacije nad tragačima sa različitim strategijama. Testirane mere za redosled su bile pretraga u širinu, backlink-count strategija i delimične PageRank kalkulacije.(PageRank je algoritam koji koristi Guglov pretraživač veba.) Jedan od zaključaka je bio da je, ako tragač želi da preuzme stranice sa visokim PageRank prioritetom ranije u toku svog rada, bolje primeniti delimične PageRank kalkulacije, zatim pretragu u širinu i backlink-count strategiju. Međutim, ovi rezultati su bili u okviru samo jednog domena. Čo je takođe napisao doktorsku disertaciju na Stanfordu vezanu za programe tragače.

Najork i Viner su sproveli indeksiranje lokacija na 328 miliona stranica, koristeći pretragu u širinu.[1] Otkrili su da ovom metodom program tragač preuzima stranice sa visokim PageRank prioritetom ranije tokom svoga rada (ali oni nisu uporedili ovu strategiju sa drugim strategijama). Objašnjenje dato od strane autora za ovakav rezultat bilo je da najvažnije stranice imaju mnogo hiperveza od strane brojnih hostova prema njima, i da takve hiperveze budu najranije pronađene, bez obzira na to sa kog hosta ili stranice počinje indeksiranje lokacija.

Abitbul je dizajirao strategiju zasnovanu na algoritmu OPIC (енг. On-line Page Importance Computation). U OPIC algoritmu svakoj stranici je data početna suma „novca”, koja se podjednako distribuira između stranica na koje pokazuje. To je slično PageRank izračunavanjima, ali je bilo brže i bilo je rađeno u jednom koraku. Tragač zasnovan na OPIC algoritmu prvo preuzima stranice u granici traganja koje imaju veću svotu novca. Eksperimenti su izvedeni na sintetičkom grafu od 100.000 stranica, sa stepenim zakonom raspodele unutrašnjih hiperveza. Međutim, nije sprovedeno ni jedno upoređivanje sa ostalim strategijama, niti eksperimentisanje na pravom vebu.

Paolo Boldi i saradnici su sproveli simulaciju na podskupu veba koja je sadržala 40 miliona stranica sa .it domena i 100 miliona stranica sa WebBase-a, testirajući pretragu u širinu protiv pretrage u dubinu, nasumičnog poretka i sveznajuće strategije. Poređenje je zasnivano na tome koliko je PageRank dobijen na delimičnom indeksiranju lokacija približan pravoj vrednosti. Iznenađujuće, neke strategije koje nagomilavaju PageRank veoma brzo (pre svega, pretraga u širinu i sveznajuća strategija), pružaju veoma loša progresivna izračunavanja.[2][3]

Baeza-Jejts i saradnici koristili su simulaciju na dva podskupa veba koji se sastojao od 3 miliona stranica sa .gr i .cl domena, testirajući nekoliko strategija.[4] Pokazali su da i OPIC strategija i strategija koja koristi per-site red bolja od strategije koja koristi pretragu u širinu, i da je takođe, kada je to moguće, veoma efikasno koristiti prethodno indeksiranje lokacija kao smernicu za trenutno.

Šervin Danešpedžoh je dizajnirao algoritam zasnovan na zajednici, koji pronalazi dobra semena. Ovaj metod indeksira lokacije sa visokim PageRank prioritetom iz drugih zajednica u manje iteracija nego indeksiranje lokacija koje počinje nasumičnim semenima. Ovako se, koristeći ovu metodu, dobro seme može izvući iz veb-grafa koji je ranije korišćen. Pomoću ovih semena novo indeksiranje lokacija moze biti veoma efikasno.

Politika ponovnog posećivanja[уреди]

Veb je vrlo dinamične prirode, tako da indeksiranje njegove frakcije može da potraje nedeljama ili mesecima. Dok tragač završi svoje indeksiranje lokacija, mnogi događaji bi mogli da se dese, uključujući dodavanja, ažuriranja i brisanja sadržaja.

Iz tačke gledišta pretraživača veba, postoji cena koja je vezana za događaj koji se desio, a time za posledicu ima zastarelu kopiju resursa. Najkorišćenije funkcije troškova su svežina i starost.[5]

  • Svežina — Ovo je binarna jedinica koja označava da li je lokalna kopija precizna ili nije. Svežina stranice p u skladištu za dato vreme t se definiše kao:
F_p (t) = 1 (ako je lokalna kopija jednaka p u trenutku t) ili kao
F_p (t) = 0 (uobičajeno).
  • Starost — Ovo je jedinica koja pokazuje koliko je zastarela lokalna kopija. Starost stranice p u skladištu, za dato vreme t se definiše kao:
A_p (t) = 0 (ako p nije modifikovana u trenutku t) ili kao
A_p (t) = t (uobičajeno).

Edvard Kofman je radio sa definicijom cilja tragača koja je ekvivalentna svežini, ali je to drugačije formulisao; on je predlagao da tragač mora da minimalizuje frakciju vremena za koju je stranica zastarela. On je takođe primetio da se indeksiranje lokacija može modelovati pomoću biračkog sistema sa više redova, a jedinstvenim serverom u kom je tragač server, a veb-sajtovi su redovi. Modifikacije stranica su dolasci birača, a prelazna vremena su intervali između pristupa stranica jednog veb-sajta. U ovom modelu, međuvreme koje se provodi u čekanju na birača je u biračkom sistemu je ekvivalentno prosečnoj starosti za program tragač.

Cilj tragača je da održi stranice u svojoj kolekciji što je moguće svežijim, ili da održava prosečnu starost stranica što je moguće nižom. Ovi ciljevi nisu ekvivalentni: u prvom slučaju tragača samo zanima broj stranica koje su zastarele, dok u drugom slučaju program tragač samo brine o starosti lokalnih kopija stranica.

Čo i Garsija-Molina su proučavali dve proste politike ponovnog posećivanja:

  • Uniformna politika — Ovo podrazumeva posećivanje svih stranica istom učestalošću, bez obzira na njihovu brzinu promena.
  • Proporcionalna politika — Ovo podrazumeva češće posećivanje onih stranica koje se brže menjaju. Učestalost posećivanja je direktno proporcionalna (procenjenoj) brzini promena.

(U oba slučaja, ponovljeni redosled indeksiranja se može izvšiti u nasumičnom ili fiksnom redosledu.)

Čo i Garsija-Molina su pokazali iznenađujuće rezultate po kojima — u smislu prosečne svežine — uniformna politika prevazilazi proporcionalnu politiku u indeksiranju, kako na simulaciji veba, tako i na pravom vebu.

Intuitivno, obrazloženje je to da, pošto tragači imaju ograničen broj stranica koji mogu da indeksiraju za određeno vreme, treba u obzir uzeti sledeće:

  1. alocirati previše novih indeksiranja na stranice koje se brzo menjaju, po cenu smanjenja učestalosti ažuriranja stranica i
  2. svežina stranica koje se brzo menjaju traje manje od svežine stranica koje se ne menjaju toliko često.

Drugim rečima, proporcionalna politika alocira više resursa da bi indeksirala stranice koje se češće menjaju, ali dobija manju ukupnu svežinu stranica od njih.

Da bi poboljšao svežinu, program tragač treba da „kazni” elemente koji se jako često menjaju. Optimalna politika ponovnog posećivanja nije ni uniformna politika ni proporcionalna politika. Optimalna metoda za održavanje prosečne svežine visokom podrazumeva ignorisanje stranica koje se prečesto menjaju, a optimalni metod za održavanje prosečne starosti niskom jeste da se koriste pristupne učestalosti koje se monotono (ili sublinearno) povećavaju sa brzinom promene svake stranice. U oba slučaja, optimalna metoda je bliža uniformnoj politici nego proporcionalnoj politici, kako bi Edvard Kofman rekao: „Da bi smanjili očekivano vreme zastarelosti, pristupi bilo kojoj stranici treba da budu najravnomernije moguće rapoređeni.” Eksplicitne formule za politiku ponovnog posećivanja se generalno ne mogu dostići, ali se dobijaju brojčano, pošto zavise od distribucije promena stranica. Čo i Garsija-Molina pokazuju da bi se eksponencijalna distribucija dobro uklopila u opis promena stranica, dok Iperiotis i saradnici pokazuju kako upotrebiti statističke alatke da bi se odredili parametri koji utiču na ovu distribuciju.[6] Može se primetiti da sve politike ponovnog posećivanja koje se ovde razmatraju gledaju na sve stranice kao homogene, u kvalitativnom pogledu, što i nije baš realističan scenario, tako da bi dodatne informacije o kvalitetu veb-stranice trebalo da budu uključene kako bi se postigla bolja politika indeksiranja.

Politika lepog ponašanja[уреди]

Tragači mogu da preuzmu informacije daleko brže i dublje nego ljudi, tako da mogu da zadaju pogubni udar na performanse veb-sajta. Nepotrebno je reći da, ako jedan tragač obavlja više zahteva u sekundi i/ili preuzimanje velikih datoteka, isti bi teško držao korak sa zahtevima više tragača.

Kao što je navedeno od strane Kostera, korišćnje tragača je korisno za više zadataka, ali ima svoju cenu za opštu zajednicu. Cena upotrebe programa tragača podrazumeva:

  • mrežne resurse (kako tragači zahtevaju značajan protok i rade s visokim stepenom paralelizma tokom dugog vremenskog perioda),
  • preopterećenje servera (pogotovo ako je učestalost poseta datom serveru prevelika),
  • slabo napisane tragače (koji mogu da obore servere ili rutere, ili preuzmu stranice koje ne mogu da obrade) i
  • lične tragače (koji, ako su upotrebljeni od strane više korisnika, mogu da poremete mrežu i veb-server).

Delimično rešenje za ove probleme je protokol za isključenje robota, takođe poznat kao robots.txt protokol, koji je standard za administratore i ukazuje na kom to delu veb-servera tragači ne bi trebalo da pristupe. Ovaj standard ne obuhvata predlog za interval poseta prema istom serveru, iako je interval najefikasniji način da se izbegne preopterećenje servera. Odnedavno su komercijalni pretraživači poput Gugla, Ask dživsa i Jahua u mogućnosti da koriste dodatni crawl-delay parametar u robots.txt fajlu za naznačavanje broja sekundi razmaka izmađu zahteva.

Prvi predloženi razmak između konekcija iznosio je 60 sekundi. Međutim, ako su stranice preuzimane ovim tempom sa nekog veb-sajta sa više od 100.000 stranica, preko savršene veze bez kašnjenja i sa beskonačnim protokom, bilo bi potrebno više od 2 meseca da se preuzme samo ceo taj veb-sajt. Takođe, samo mali deo tih informacija sa veb-servera bi bio iskorišćen. Ovo ne izgleda prihvatljivo...

Čo koristi 10 sekundi kao interval za pristupe, a WIRE tragač koristi 15 sekundi kao podrazumevanu vrednost.[7] MercatorWeb tragač koristi politiku adaptivne pristojnosti: ako je trebalo t sekundi da se preuzme dokument sa datog servera, tragač čeka 10t sekundi pre preuzimanja sledeće stranice.[8] Dil i saradnici koriste interval od 1 sekunde.[9]

Za one koji koriste tragače u istraživačke svrhe, detaljnija analiza troškova i koristi je neophodna, kao i etička pitanja koja treba uzeti u obzir prilikom odlučivanja gde se indeksira i koliko brzo se indeksira.

Nepouzdani dokazi iz pristupnih logova (dnevnika, zapisa) pokazuju da pristupni intervali poznatih tragača variraju između 20 sekundi i 3 minuta — 4 minuta. Treba napomenuti da — čak i kada se veoma lepo ponašaju i preduzimaju sve mere zaštite da bi se izbeglo preopterećenje veb-servera — dobiju neke pritužbe od strane administratora veb-servera. Brajan i Pejdž su primetili da „...upravljati tragačem koji povezuje više od pola miliona servera stvara popriličan broj mejlova i poziva. Zbog ogromnog broja ljudi koji dođu on-line, uvek ima onih koji ne znaju šta je tragač, zato što je ovo prvi put koji su videli isti.”

Politika paralelizacije[уреди]

За више информација погледајте чланак Distribuirano indeksiranje veba.

Paralelni tragač je tragač koji ima pokrenute višestruke procese istovremeno. Cilj je da se maksimalno poveća preuzimanje dok se minimalizuje preplavljenost nastala paralelizacijom i da se izbegne ponovno preuzimanje iste stranice. Da bi izbegao preuzimanje jedne stranice više puta, sistem za indeksiranje treba politiku za dodelu novih veb-adresa otkrivenih tokom indeksiranja, pošto se ista adresa može javiti u dva različita procesa indeksiranja.

Tematsko/fokusirano indeksiranje[уреди]

За више информација видети Tematski veb-indekser и Tematski tragač/Veb-indekser.

Važnost stranice za program tragač može se izraziti preko sličnosti sa stranicom koja je zadata u upitu. Tragači koji pokušavaju da preuzmu stranice koje su međusobno slične nazivaju se tematski tragači ili tematski veb-indekseri. Koncepte tematskog i fokusiranog indeksiranja su prvi uveli Mencer, Čakrabarti i saradnici.[10]

Glavni problem u tematskom indeksiranju je taj što bi mi voleli da budemo u mogućnosti da predvidimo sličnost stranice sa tekstom zadatim u upitu pre nego što zapravo preuzmemo stranicu. Mogući prediktor je tekst u sidrima hiperveza; to je pristup koji je zauzeo Pinkerton u prvom tragaču u ranim danima veba. Dilidženti i saradnici[11] predlažu korišćenje celokupnog sadržaja stranice koja je već posećena da bi se odredila sličnost između pokrenutog upira i stranice koja još nije posećena. Učinak tematskog tragača zavisi najviše od bogatstva hiperveza u određenoj temi koja se pretražuje, i tematsko indeksiranje se uglavnom oslanja pretraživače veba da im pruži početne tačke.

Ograničavanje praćenih hiperveza[уреди]

Tragač mođe samo da traži HTML stranice i da izbegne sve ostale MIME-tipove. Da bi tražio samo HTML resurse, tragač mora da izvrši HTTP HEAD zahtev za utvrđivanje MIME-tipa veb-resursa, pre nego što zatraži ceo resurs sa HTTP GET zahtevom. Da bi se izbegli brojni HEAD zahtevi, tragač može ispitati samo veb-adresu i zatražiti resurs ukoliko se adresa završava nečim od sledećeg:

  • .HTML
  • .HTM
  • .ASP
  • .ASPX
  • .PHP
  • .JSP
  • .JSPX
  • /

Ova straegija može da izazove da brojna HTML veb-sredstva budu nenamerno preskočena.

Neki tragači mogu da izbegnu sve resurse koji imaju „?” u sebi (oni se dinamički proizvode), kako bi se izbegle sve zamke koje mogu da nateraju tragač da preuzima neograničen broj veb-adresa sa veb-lokacije. Ova strategija je nepouzdana ako sajt koristi engine za prepravku da bi pojednostavio svoju adresu.

Normalizacija veb-adresa[уреди]

За више информација погледајте чланак Normalizacija veb-adresa.

Tragači obično vrše neku vrstu nomalizacije veb-adresa, kako bi se izbeglo indeksiranje istog resursa dva puta. Termin normalizacije veb-adrese, koji se takođe naziva kanonizacijom veb-adrese, odnosi se na proces menjanja i standardizacije veb-adresa na dosledan način. Postoji nekoliko tipova normalizacije koje mogu biti izvršene, uključujući i konverziju veb-adrese u mala slova, uklanjanje segmenata „.” i „...”, kao i dodavanje pratećih slasheva na neprazne path komponente.[12]

Indeksiranje sa uzlaznom putanjom[уреди]

Neki tragači nameravaju da preuzmu što je više resursa moguće sa određenog veb-sajta. Tako je tragač sa uzlaznom putanjom uveden da bi se popeo na svaku putanju do željene u datoj adresi. Na primer, kad mu je dato seme, tragač će pokušati da indeksira /hamster/monkey, /hamster i /. Kotez je ustanovio da je tragač sa uzlaznom putanjom veoma efektivan u pronalaženju izolovanih resursa, ili resursa za koje — u običnom indeksiranju — dolazni link ne bi bio pronađen.

Mnogi tragači sa uzlaznom putanjom su takođe poznati kao softver za ubiranje veb-sadržaja (eng. Web scraping software, Web harvesting software), zato što se koriste da prikupe kompletan sadržaj sa određene stranice ili hosta.

Akademski tragači[уреди]

Primer tematskih tragača su akademski tragači, koji indeksiraju akademske dokumente sa otvorenim pristupom, kao što su citeseerxbot, tragač CiteSeerX pretraživača. Drugi akademski pretraživači su Google Scholar i Microsoft Academic Search i dr. Pošto je većina akademskih dokumenata publikovana u PDF formatu, ovakva vrsta tragača je posebno zainteresovana za indeksiranje PDF, postscript, Microsoft Word i njihovih komprimovanih formata. Zbog ovoga, opšti open-source tragači, kao što je Heritrix, moraju biti prilagođeni da filtriraju ostale MIME-tipove, ili da se posredni softver koristi za izdvojanje ovih dokumenata i ubacivanje istih u bazu podataka i skladište za tematsko indeksiranje. Izazov je identifikovati da li su ovi dokumenti akademski, toliko da to može značajno zagušiti proces indeksiranja, tako da se kao post-procesi koriste algoritmi zasnovani na mašinskom učenju i regularnim izrazima. Ovi akademski dokumenti se najčešće dobijaju sa početnih stranica osoblja fakulteta i studenara, ili stranica za publikacije naučnih instituta. Pošto ovi dokumenti zauzimaju mali deo ukupne veb-stranice, dobar izbor semena je važan za poboljšanje efikasnosti ovih tragača. Drugi akademski tragači mogu da preuzmu običan tekst i HTML datoteke, koje sadrže metapodatke akademskih papira, kao što su naslovi, papiri i sažeci. Ovo uvećava ukupni broj papira, ali značajan deo njih možda neće obezbediti besplatna preuzimanja.

Arhitekture[уреди]

Arhitektura visokog nivoa standardnog programa tragača

Tragač ne samo da mora da ima dobru strategiju indeksiranja, kao što je navedeno u prethodnim poglavljima, već takođe treba da ima optimizovanu arhitekturu.

Škapenijuk i Suel su primetili sledeće:

Iako je prilično lako da se izgradi spor tragač koji preuzima nekoliko strana u sekundi za kratko vreme, izgradnja visokoperformansnog sistema koji može da preuzme stotine miliona stranica za nekoliko nedelja predstavlja niz izazova u projektovanju sistema, I/O-a, efikasnosti mreže, i robusnosti i upravljivosti.

Tragači su centralni deo pretraživača, a detalji o njihovim algoritmima i arhitekturi se čuvaju kao poslovne tajne. Kada su dizajni puzavca objavljeni, često postoji značajan nedostatak detalja koji sprečava druge da reprodukuju rad. Tu se takođe pojavljuje zabrinutost „pretraživačkog spamovanja”, koje sprečava vodeće internet pretraživače od objavljivanja njihovog rangiranja algoritama.

Identifikacija tragača[уреди]

Tragači se obično indetifikuju na veb-serveru koristeći korisničke agente u HTTP zahtevu. Veb-sajt administratori će obično ispitati njihovo veb-serversko prijavljivanje i koristiti polje korisničkog naloga da odrede koji puzavac je posetio veb-server i koliko često. Korisničko polje može da sadrži URL adresu gde administrator veb-sajta može saznati više informacija o tragaču. Ispitivanje veb-serverske prijave je dosadan zadatak, pa stoga neki administratori koriste alate kao što su CrawlTrack ili SEO Crawlytics da se indetifikuju, prate i verifikuju programi tragači. Spambotovi i drugi zlonamerni tragači najverovatnije neće postaviti identifikacione podatke u polje korisničkog agenta, ili mogu maskirati svoj indetitet u veb-pregledač ili neki drugi poznati program tragač.

Važno za tragače je da se indetifikuju tako da administratori veb-sajta mogu da kontaktiraju vlasnika ako je to potrebno. U nekim slučajevima, tragači mogu da se slučajno zarobe u zamku za tragače ili mogu preopteretiti veb-server zahtevima, te tada vlasnik mora da zaustavi tragača. Identifikacija je takođe korisna za administratore koji su zainteresovani da znaju kada mogu da očekuju da će njihove stranice biti indeksirane od strane pretraživača veba.

Primeri[уреди]

Sledi lista objavljenih arhitektura tragača za tragače opšte namene (bez tematskih tragača) sa kratkim opisom koji uključuje imena pripisana razlicitim komponentama i izuztenim karakteristikama:

  • Yahoo!Slurp je ime Jahuovog tragača.
  • Bingbot je ime za Microsoftov Bing program tragač. Zamenio je Msnbot.
  • Fast Crawler[13] je distribuirani tragač, koristi ga Fast Search & Transfer, a okvirni opis njegove arhitekture je dostupan.
  • Googlebot je opisan u nekim detaljima, ali misli se samo na raniju verziju njegove arhitekture, koja je bila zasnovana na C++-u i Phyton-u. Tragač je integrisan u proces indeksiranja, jer je parsiranje teksta urađeno za indeksiranje celog teksta i takođe za ekstrakciju veb-adrese. Postoji veb-adresa servera koja šalje spiskove veb-adresa koja se unose u nekoliko tragačkih procesa. Tokom analize, pronađene veb-adrese su prosleđene veb-serveru da proveri da li je veb-adresa ranije viđena. Ako nije, veb-adresa je dodata u red tog veb-servera.
  • PolyBot je distriburani tragač napisan u C++-u i Phyton-u, koji se sastoji od „menadžera tragača”, jednog ili više „preuzimača” i jednog ili više „DNS pronalazača”. Prikupljene veb-adrese se smeštaju u red na disku, a kasnije se obrađuju da bi pretraživale već viđene veb-adrese u batch modu. Politika lepog ponašanja razmatra i domene trećeg i drugog nivoa (npr. www.example.com i www2.example.com su domeni trećeg nivoa) jer se domeni trećeg nivoa hostuju na istom veb-serveru.
  • RBSE bio je prvi objavljeni tragač. On se zasnivao na dva programa. Prvi program, „pauk”, održava red u relacionoj bazi podataka, a drugi program, „Mite”, modifikovan je www ASCII pretraživač koji preuzima stranice sa interenta.
  • WebCrawler je korišćen za izgradnju prvog javno dostupnog kompletnog tekst indeks podskupa veba. On se zasnovao na lib-WWW da preuzima stranice, dok je drugi program parsirao i sortirao veb-adrese za pretragu veb-grafa u širinu. To takođe uključuje tragač koji radi u realnom vremenu i koji sledi veze na osnovu sličnosti teksta sidra sa datim upitom.
  • World Wide Web Worm je tragač koji je bio korišćen za izgradnju jednostavnog indeksa naslova dokumenata i veb-adresa. Indeks se može pretraživati pomoću grep Unix komande.
  • WebFountain je distribuiran, modularni tragač sličan Mercator-u ali napisan u C-u. Poseduje „kontrolor” mašinu koja koordinira radom skupa mašina „mrava”. Posle višestrukog preuzimanja stranica i učestalost promena stranice se zaključuje za svaku stranicu i onda se, metodom nelinaernog programiranja, mora rešiti sistem jednačina koji maksimizuje svežinu. Autori preporučuju da se koristi ovaj redosled indeksiranja u ranim fazama rada tragača, a da se posle toga preže na uniforman redosled indeksiranja, u kojem se sve stranice pregledaju istom učestalošću.
  • WebRACE[14] je modul za indeksiranje i keširanje implementiran u Javi, a koristi se kao deo više generičkog sistema nazvanog eRACE. Sistem prima zahteve od korisnika za preuzimanje veb-stranica, tako da tragač deluje delom i kao pametan proksi server. Sistem takođe obrađuje zahteve za „pretplatu” na veb-stranice koje se moraju pratiti: kada se stranice menjaju, one moraju biti preuzete od strane tragača i pretplatnik mora biti obavešten. Najizraženija osobina WebRACE-a je da, dok većina tragača počinje sa skupom semena, WebRACE neprestano prima nove početne veb-adrese od kojih će da otpočne indeksiranje.

Pored specifične arhitektura ovde navedenih tragača, postoji i opšta arhitektura tragača objavljena od strane Čoa i Čakrabartija.

Dodatni izvori informacija[уреди]

  • Cho, Junghoo, „Web Crawling Project“, UCLA Computer Science Department.
  • WIVET je benchmarking projekat od strane OWASP-a, čiji je cilj da proveri da li tragač može da identifikuje sve hiperveze na ciljnoj veb-stranici.

Reference[уреди]

  1. Marc Najork & Janet L. Wiener (5. 2001). Breadth-first crawling yields high-quality pages In Proceedings of the Tenth Conference on World Wide Web. Elsevier Science. Hong Kong. p. 114—118
  2. Boldi, Paolo; Bruno Codenotti, Massimo Santini, Sebastiano Vigna (2004). „UbiCrawler: a scalable fully distributed Web crawler”. Software: Practice and Experience 34 (8): 711—726. DOI:10.1002/spe.587. Приступљено 23. 3. 2009. 
  3. Boldi (2004), стр. 168—180.
  4. Baeza-Yates, R.; Castillo, C.; Marin, M.; Rodriguez, A. (2005). Crawling a Country: Better Strategies than Breadth-First for Web Page Ordering. In Proceedings of the Industrial and Practical Experience track of the 14th conference on World Wide Web. Chiba, Japan. ACM Press. pp. 864—872
  5. Cho, Junghoo; Hector Garcia-Molina (2000). „Synchronizing a database to improve freshness”. Proceedings of the 2000 ACM SIGMOD international conference on Management of data. Dallas, Texas, United States: ACM. pp. 117—128. DOI:10.1145/342009.335391. ISBN 1-58113-217-4. Архивирано из оригинала на датум 18. 8. 2003. Приступљено 23. 3. 2009. 
  6. Ipeirotis, P.; Ntoulas, A.; Cho, J.; Gravano, L. (4. 2005). Modeling and managing content changes in text databases. In Proceedings of the 21st IEEE International Conference on Data Engineering. Tokyo. pp. 606—617
  7. Baeza-Yates, R. & Castillo, C. (2002). Balancing volume, quality and freshness in Web crawling. In Soft Computing Systems — Design, Management and Applications. Santiago, Chile. IOS Press Amsterdam. pp. 565—572
  8. Heydon, Allan; Najork, Marc (26. 6. 1999) (PDF). Mercator: A Scalable, Extensible Web Crawler. Архивирано из оригинала на датум 22. 11. 2004. Приступљено 22. 3. 2009. [мртва веза од 10. 2010]
  9. Dill, S.; Kumar, R.; Mccurley, K. S.; Rajagopalan, S.; Sivakumar, D.; Tomkins, A. (2002). Self-similarity in the web. ACM Trans. Inter. Tech., 2(3):205—223.
  10. Chakrabarti, S.; van den Berg, M.; Dom, B. (1999). Focused crawling: a new approach to topic-specific web resource discovery. Computer Networks, 31(11–16):1623–1640.
  11. Diligenti, M.; Coetzee, F.; Lawrence, S.; Giles, C. L.; Gori, M. (2000). Focused crawling using context graphs. In Proceedings of 26th International Conference on Very Large Databases (VLDB). Cairo, Egypt. pp. 527—534
  12. Pant, Gautam; Srinivasan, Padmini; Menczer, Filippo (2004). „Crawling the Web”. In Levene, Mark; Poulovassilis, Alexandra. Web Dynamics: Adapting to Change in Content, Size, Topology and Use. Springer. pp. 153—178. ISBN 978-3-540-40676-1. Приступљено 22. 3. 2009. 
  13. Risvik, K. M. and Michelsen, R. (2002). Search Engines and Web Dynamics. Computer Networks, vol. 39, pp. 289—302, 6. 2002.
  14. Zeinalipour-Yazti, D. and Dikaiakos, M. D. (2002). Design and implementation of a distributed crawler and filtering processor. In Proceedings of the Fifth Next Generation Information Technologies and Systems (NGITS), volume 2382 of Lecture Notes in Computer Science, pages 58—74, Caesarea, Israel. Springer.

Literatura[уреди]