From Wikipedia, the free encyclopedia
Web crawler (někdy také spider) je v informatice specializovaný internetový bot, který prochází World Wide Web za účelem vytvoření obrovské databáze (web index). Navštěvuje automaticky veškeré dostupné webové stránky a tím umožní zaznamenat, která slova kde viděl. Webový vyhledávač pak na dotaz uživatele (jedno nebo více slov) může z web indexu odpovědět, na kterých stránkách jsou hledaná slova k nalezení.
Web crawler začíná se seznamem URL adres k návštěvě, které prohledává a přes HTTP protokol si o nich ukládá důležitá data jako je jejich obsah (text), metadata (datum stažení stránky, hash či změny od poslední návštěvy apod.), případně informace o zpětných odkazech. Identifikuje všechny hypertextové odkazy (tj. obsah HTML atributů src a href) a přidává je do seznamu URL adres, které bude stahovat v budoucnu.
Data posbírána crawlerem se ukládají na pevné disky o vysokých kapacitách a slouží jako databáze pro příští návštěvy. Na internetu je teoreticky nekonečné množství webových stránek a není tak v reálných schopnostech crawlera navštívit a stáhnout všechny webové stránky. Z tohoto důvodu se crawler řídí výběrovou politikou, která nastavuje pravidla a parametry, podle kterých crawler navštěvuje jednotlivé stránky a následně vyhodnocuje, zda stránku stáhne a uloží do databáze.[1]
Chování crawlera je výsledkem kombinace zásad:[2]
Vzhledem k aktuální velikosti webu mohou i velké vyhledávací stroje pokrývat pouze část veřejně přístupné části. Studie z roku 2009 ukázala, že i největší vyhledávače nezahrnují více než 40–70% indexovatelného webu.[3] Jelikož crawler vždy stahuje jen zlomek navštívených webových stránek, je velmi žádoucí, aby stažený zlomek obsahoval nejrelevantnější stránky a ne jen náhodnou ukázku webu. Významnost webu se určuje dle několika kritérií jako je počet na něj vedoucích odkazů (zde je hodnocena i věrohodnost odkazů), zpětné odkazy nebo PageRank.
Pro zajištění efektivního sběru dat a aktuálnosti indexovaného obsahu je velmi důležité zajistit optimální časové intervaly pro opětovné navštívení stránek a aktualizaci indexovaných údajů. Časový interval mezi jednotlivými návštěvami je určen mnoha faktory, jako je frekvence změn na stránce, její PageRank, ale i technické omezení serveru (aby nedošlo k jeho přetížení). K stanovení, zda stránku stáhnout nebo ne jsou zpravidla používány funkce aktuálnosti (Freshness) a stáří (Age).[4]
Obě funkce lze vyjádřit následovně:
Aktuálnost je funkce data poslední změny t stránky p oproti datu stránky v databázi vyhledávače.
Stáří stránky vyjadřující neaktuálnost lokální kopie stránky p v databázi vyhledávače v čase t je vyjádřeno funkcí:
Crawleři procházejí a stahují data z webových stránek mnohem rychleji než lidé, a proto mohou mít škodlivý vliv na zatížení serveru. Netřeba dodávat, že pokud jeden prohledávač provádí více požadavků za sekundu a/nebo stahuje velké soubory, server by těžko zvládl nápor více crawlerů současně nebo v určitých případech třeba i jen jediného crawlera procházejícího několik webů umístěných na jednom serveru souběžně.
Jak uvádí Martin Koster, největšími problémy, které crawleři způsobují, jsou:[5]
Částečným řešením je omezení nebo zákaz vstupu robotů na web pomocí souboru robots.txt
. Tento textový soubor stanovuje, které části webových serverů jsou pro crawlery přístupné. Lze zde také povolit/zakázat přístup konkrétním crawlerům.
Při využívání crawlera, který je schopen paralelního spouštění více procesů je nutné zajistit, aby nedocházelo k paralelním nebo opakujícím se přístupům ke stejnému zdroji. Cílem je maximalizovat rychlost stahování při minimalizaci režie z paralelizace a zabránit opakovaným stahováním stejné stránky. Aby nedocházelo ke stahování stejné stránky více než jednou, systém procházení vyžaduje politiku přidělování nových adres URL zjištěných během procesu procházení, protože stejná adresa URL může být nalezena dvěma různými procházeními.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.