Nl:Crawler

Aus YaCyWiki
Wechseln zu: Navigation, Suche

De crawler werkt in principe heel eenvoudig. Je geeft een beginadres (url) op, bijvoorbeeld www.nrc.nl. De pagina's die tot dit domein behoren worden geladen en er wordt gezocht naar verwijzingen naar andere websites. Als deze gevonden zijn, worden ze gevolgd waarna het proces opnieuw begint (zoeken naar verwijzigen en deze volgen). Zo verplaatst de crawler zich van site naar site en slaat deze daarbij op in zijn index (-> indexeren). Deze methode wordt in principe door iedere zoekmachine gebruik om zijn index met websites te vullen.

Details van de werkwijze

Formeel uitgedrukt bouwt de crawler een graaf op, beginnend bij een startknoop totdat een vastgestelde zoekdiepte is bereikt die de maximale afstand (= minimaal aantal kanten tussen twee knopen) van de graaf bepaald.

Deze graaf, en daarmee ook de crawler, moet de volgende eigenschappen hebben:

  • de crawler moet robots.txt evalueren en respecteren
  • websites die circulaire verwijzingen bevatten (= gesloten padden in de graaf) kunnen leiden tot oneindige crawl-acties als er niet op dubbele url's wordt gecontroleerd. De zoekboom moet dergelijke lussen uitsluiten. Hierbij treedt het probleem op dat er meerdere padden tussen een knoop en de beginknoop mogelijk zijn.
  • het doorzoeken van knopen in de graaf moet deels gelijktijdig uitgevoerd worden zodat langzame servers het crawl-proces niet vertragen (multi-threading van crawlers). Hieruit volgen de volgende aanvullende eisen:
  • de crawler moet zijn staat zijn belasting-queues, ontdubbel-queues, fout-queues, retry-queues, opslag-queues en robot-prefetch-queues te beheren en te synchroniseren
  • omdat de crawler multi-threaded moet zijn, ontstaat het probleem dat een enkel domein door vele simultane crawl-verzoeken overspoeld kan worden. De crawler moet daarom ook een belastingsnivilering van de doelserver doorvoeren.

YaCy heeft alle bovengenoemde eigenschappen.


Gebruik van de YaCy-crawlers