Een spin is een klein programma dat contact kan maken met webservers en daar documenten van opvraagt. Als zo’n document hyperlinks naar andere documenten bevat, worden die ook opgevraagd. Het maakt daarbij geen verschil of die andere documenten op dezelfde webserver staan of op een andere. Websites zijn voortdurend aan verandering onderhevig, dus moeten deze regelmatig opnieuw bezocht worden. In de praktijk zijn er altijd spinnen bezig, met name als het in Amerika nacht is.
Spinneweb Bron: www.projects.yrdsb.edu.on.ca
Zoekmachines
Spinnen werken alleen in opdracht. Zij worden erop uitgestuurd om informatie op te halen, bijvoorbeeld voor zoekmachines. Bekende zoekmachines zijn Yahoo, Infoseek en Altavista. Deze bieden je de mogelijkheid om een woord op te geven, waarmee ze voor jou een lijst maken met alle documenten op het Web die dit woord bevatten. Zo hebben we in een eerder nummer met succes op het woord Pythagoras gezocht.
Zoekmachines geven onmiddellijk antwoord. Het is dus niet zo dat pas als je een trefwoord opgeeft, er een spin op uitgestuurd wordt om alle documenten af te lopen. Er zijn nu naar schatting zo’n 80 miljoen algemeen toegankelijke Web documenten op zo’n 300.000 Web servers. Als het zoeken van een woord in een document gemiddeld 0,1 seconde zou duren, zit je al snel op een responstijd van drie maanden.
Alle webdocumenten worden regelmatig door spinnen bezocht. De resultaten van hun rooftochten worden verwerkt in databases. In zo’n database vind je alle woorden samen met een URL (internetadres) waar dat woord voorkomt. Alle woorden worden zo verwerkt, behalve lidwoorden en dergelijke. Dit zijn geen kinderachtige databases, miljarden van zulke combinaties van woorden en adressen zijn er in opgeslagen. Om het zoeken toch redelijk snel te laten verlopen, is zo’n database voorzien van een index. Dit is een lijst waarin de paren gerangschikt zijn op alfabetische volgorde van het woord. Net zoals wij in een woordenboek snel kunnen zoeken, kan zo’n database met die index snel bij een woord de desbetreffende URL’s vinden. Op deze manier is een snelle responstijd van een zoekmachine mogelijk. Desalniettemin worden zeer krachtige computers ingezet voor die zoekmachines. Sommige zoekmachines werken bovendien alleen voor documenten waarvan de website is aangemeld.
Wie deze gratis toegankelijke machines betaalt? Op zoekmachines zie je altijd internet-advertenties en de adverteerders betalen daarvoor. De Gouden Gids hanteert dezelfde formule.
Stropers
Spinnen voorzien zoekmachines dus van materiaal. Maar spinnen hebben meer toepassingen. Off-line browsers zijn webbrowsers waarmee je kunt werken zonder dat je op dat moment een internetverbinding hebt. Je geeft van te voren zo’n browser een plek op waarin je geïnteresseerd bent. Een spin zal voor jou alle hyperlinks volgen en alvast documenten ophalen. Later kun je dan op je gemak en zonder verbinding deze documenten bekijken. Als je zelf de telefoonrekening moet betalen kan zo’n off-line browser je vele guldens besparen, met name als je de spin zijn werk ’s nachts laat doen.
Sommige internetgebruikers willen graag collecties van plaatjes of van video-beelden aanleggen. Je kunt dan een spin op pad sturen die alleen documenten van een bepaald type ophaalt, zoals gif-plaatjes. Dit soort spinnen zijn echte stropers.
Hoe zoekt een spin?
Het is duidelijk dat spinnen een bepaalde strategie moeten hebben op het Web te zoeken. Anders verdwaalt de spin net zo als een argeloze websurfer die zo maar wat hyperlinks aanklikt. Voor het bepalen van zo’n zoekstrategie kunnen we alle webdocumenten wiskundig voorstellen door een graaf: de documenten zijn de knopen en de hyperlinks zijn de verbindingen daartussen. Voor alle strategieën geldt dat bijgehouden moet worden welke knopen reeds bezocht zijn om dubbel werk of het rondlopen in cirkels te voorkomen. Een spin krijgt altijd een startpunt mee, vaak een homepage van een website.
Er zijn twee standaard zoekstrategieën:
Zoeken in de breedte Ga vanuit een startpunt na welke knopen er zijn, die hebben afstand 1. Houd ondertussen bij welke nieuwe knopen je tegenkomt, die hebben afstand 2. Zodra alle knopen van afstand 1 geweest zijn, komen die van afstand 2 aan de beurt. Enzovoort.
Zoeken in de diepte Ga vanuit een startpunt naar de eerste knoop op afstand 1. Als deze een link naar een nieuwe knoop bevat, ga naar die knoop. Zo niet, ga een stap terug en naar de tweede knoop vanuit het startpunt. Vanuit een knoop gaan we dus eerst de diepte in en keren daarna pas op onze schreden terug naar een eerder alternatief.
Bij internetspinnen zien we over het algemeen de eerste aanpak. Met dien verstande dat vaak eerst een hele website of een deelboom afgezocht wordt voordat naar een andere website wordt overgegaan. Deze andere websites worden ook weer op dezelfde manier afgelopen.
Figuur 1Twee verschillende zoekstrategieën: breedte-eerst (boven) en diepte-eerst (onder).
Middelen tegen spinnen
Niet overal zijn spinnen welkom. Op een website kan een bestand robots.txt neergezet worden waarin aangegeven staat op welke plekken spinnen (ook wel robots genoemd) niet horen te komen. Dat de spinnen zich hieraan houden, is een kwestie van etiquette, er is geen mogelijkheid om dit af te dwingen.
Andere documenten waar spinnen niet bij kunnen komen zijn diegene die pas opgestuurd worden als een formulier wordt ingevuld. Er is dus geen normale link naar zo’n document. Dit geldt nog sterker voor dynamische documenten, die pas opgesteld worden op het moment van het verzoek van de browser, vaak aan de hand van gegevens van de aanvrager.
Je eigen spinnen
Voor het geval dat je zelf eens wat spinnen aan het werk wil zetten, hebben we Internet Marauder uitgetest (marauder is Engels voor plunderaar). Het is een shareware programma voor Windows 95. Je kunt het bijvoorbeeld krijgen bij www.shareware.com zoek op ‘Marauder’. Een aardige off-line browser is NetBrief Light (zoek op ‘nbl32’).
Internet Marauder kent aan de verschillende zoekstrategieën persoonlijkheden toe: ‘Atilla de Hun’ volgt alleen hyperlinks binnen een deelboom van de directory structuur van de website, maar is hierbij zeer vasthoudend. Als een document de eerste keer niet goed doorkomt, dan vraagt hij het opnieuw en opnieuw. ‘Napoleon’ is meer voor de grote lijn: een hele website gaat hij af, echter minder vasthoudend.
Spinnen volgen in het algemeen alleen hyperlinks binnen de start-site. Desalniettemin kunnen ze een behoorlijke netwerkbelasting geven. Napoleon had voor de auteur binnen een half uur zo’n vierduizend bestanden van de Pythagoras homepage afgehaald. Met het hele internet zou deze stroper meer dan een heel jaar bezig zijn
Internet-jargon
Webbrowser Het computerprogramma waarmee je over het Web ‘surft’. Website Een stel bij elkaar horende webdocumenten over één bepaald onderwerp. Webserver Een computer die voor de verbinding met het internet zorgt. Hyperlink Een verwijzing naar een ander document met een tekst of plaatje. Door erop te klikken surf je naar dit document. URL Het internetadres van een webdocument.
Zie ook:
- Google (zoekmachine)
- Infoseek (zoekmachine)
- Altavista (zoekmachine)
- Gratis off-line browsers (FileHungry, Engels)
- Zoeken op internet (Kennislinkartikel)