Publicatie:Web crawling

Uit Meemoo Kennisbank
Naar navigatie springen Naar zoeken springen


Samenvatting

In de context van digitale archivering verstaat men onder web crawling, web harvesting en web scrapping technieken waarbij een internetbot, een computerprogramma dat op een autonome manier taken kan uitvoeren, delen van het world wide web doorzoekt om kopieën te maken van de webpagina’s die men wil bewaren. Web crawlers zijn oorspronkelijk ontwikkeld om inhoud te indexeren (bv. door zoekmachines). Ze zijn nadien aangepast om websites te archiveren zonder medewerking van hun eigenaar of directe toegang tot de server. Vandaag is web crawling de meest gangbare techniek voor de automatisering van het verzamelen van grote hoeveelheden informatie op het web. Web crawlers zijn in staat om data sneller en met groter detail te verzamelen dan mensen die het web manueel doorzoeken. De resultaten van web crawls worden vaak snapshots genoemd; de websites worden immers op een bepaald moment en in een bepaalde toestand gearchiveerd.


Referentie
Titel Web Crawling (Voorkeurstitel)
Locatie META nummer 2017/4
Uitgever
Jaar van uitgave 2017
Rechten CC-BY-SA
Persistent ID


Auteur

Emanuel Lorrain (PACKED vzw)

Wat is een web crawler?

In de context van digitale archivering verstaat men onder web crawling, web harvesting en web scrapping technieken waarbij een internetbot, een computerprogramma dat op een autonome manier taken kan uitvoeren, delen van het world wide web doorzoekt om kopieën te maken van de webpagina’s die men wil bewaren. Web crawlers zijn oorspronkelijk ontwikkeld om inhoud te indexeren (bv. door zoekmachines). Ze zijn nadien aangepast om websites te archiveren zonder medewerking van hun eigenaar of directe toegang tot de server. Vandaag is web crawling de meest gangbare techniek voor de automatisering van het verzamelen van grote hoeveelheden informatie op het web. Web crawlers zijn in staat om data sneller en met groter detail te verzamelen dan mensen die het web manueel doorzoeken. De resultaten van web crawls worden vaak snapshots genoemd; de websites worden immers op een bepaald moment en in een bepaalde toestand gearchiveerd.

Heritrix, HTTrack en Wget

Het Internet Archive, een Amerikaanse niet-commerciële organisatie die zich tot doel stelt om o.a. een archief van het volledige web te creëren[1], is wellicht de bekendste organisatie die web crawlers gebruikt. Heritrix is de naam van een tool die is gebaseerd op de programmeertaal Java en die zij gebruiken om periodiek snapshots van het web te nemen. Ze maken die snapshots nadien beschikbaar via hun Wayback Machine, die gebruikers in staat stelt de verschillende versies van webpagina’s te bekijken die zijn gearchiveerd doorheen de tijd. Andere veelvoorkomende web crawlers zijn HTTrack en Wget, beiden geschreven in de programmeertaal C en uitgegeven onder een GNU General Public License[2]. Die drie web crawlers kunnen niet alleen HTML-pagina’s[3] capteren maar ook o.a. fotobestanden, audiovisuele bestanden, stijlbladen[4], PDF-bestanden, tekstbestanden en gezipte bestanden[5].

Werking van een web crawler

Een web crawler wordt meestal ingesteld om vanuit één of verschillende URLs te vertrekken[6]. Hij identificeert dan alle hyperlinks in de webpagina die hij bezoekt, lijst de URLs op en slaat tegelijkertijd de data op. Een organisatie die web crawlers gebruikt, kan een eigen beleid opzetten in functie van wat ze zelf beoogt met haar web crawl(s). De plaatsen waar de web crawler wel of niet mag komen kunnen met behulp van filters worden afgebakend. De parameters die voor een web crawl kunnen worden ingesteld, zijn o.a.:

  • het maximaal aantal te capteren URLs;
  • enkel pagina’s crawlen met dezelfde domeinnaam; [7]
  • enkel pagina’s crawlen vanuit hetzelfde webadres; [8]
  • enkel content crawlen van dezelfde directory; [9]
  • enkel crawlen tot aan de subdirectories of enkel in upperdirectories.

Er kunnen ook parameters ingesteld worden die bepalen of dat:

  • de originele koppelingen naar andere data en bestanden moeten behouden blijven in de gearchiveerde kopie;
  • relatieve koppelingen naar andere data en bestanden moeten gecreëerd worden zodat een lokale versie van de website werkzaam blijft wanneer die niet meer op het originele adres online is.

Beperkingen voor archivering

Web crawlers kunnen aanzienlijke bandbreedte vereisen en een negatieve impact hebben op je netwerkinfrastructuur (zoals bv. overbelasting van je server veroorzaken). Daarom bestaan er mechanismes waarmee websites aan een web crawler aangeven dat ze niet gecrawled willen worden. Het belangrijkste is het robots exclusion protocol, ook gekend als het robots.txt protocol, dat aangeeft welke delen van een server niet voor web crawlers toegankelijk zijn.

Andere beperkingen betreffen de soorten data waartoe crawlers geen toegang krijgen en die ze dus niet kunnen capteren. Het gaat daarbij om bv. inhoud die op verzoek van een gebruiker wordt gegenereerd op basis van gegevens uit een databank of inhoud die door een wachtwoord versleuteld is.

Die inherente beperkingen van web crawlers vereisen dat de snapshots worden gecontroleerd om zeker te zijn dat de belangrijke data en eigenschappen van een website werden gecapteerd. Het is erg moeilijk om integriteits- en authenticiteitsniveaus te definiëren voor een complex digitaal object zoals een website.

Web browsing is tegenwoordig een gepersonaliseerde ervaring (met o.a. advertenties, account-gerelateerde inhoud, op basis van eerdere zoekopdrachten, preferenties). Populaire websites zoals Facebook en Twitter worden door elke afzonderlijke bezoeker anders ervaren. Web crawlers zijn niet in staat om alle mogelijke manieren te capteren waarop een website ervaren of bekeken kan worden. Daarom zullen in veel gevallen voor archivering web crawlers moeten worden gebruikt in combinatie met andere tools, strategieën en documentatieprocedures (bv. screenshots en het gebruik van webrecorder[10] ).

Voetnoten

  1. Voor meer info, zie https://archive.org/
  2. De GNU General Public License (GPL) is een vrije licentie voor software die je in staat stelt om de software voor elke doeleinde te gebruiken, ze te veranderen in functie van je noden, en zowel de software als je veranderingen te delen met anderen.
  3. HTML (HyperText Markup Language) is de standaard opmaaktaal voor webpagina's.
  4. Stijlbladen Cascading Style Sheet of CSS) maken het mogelijk om de vormgeving van webpagina's los te koppelen van hun feitelijke inhoud en ze centraal vast te leggen.
  5. Gezipt bestand bestaat uit één of meerdere bestanden of mappen die zijn samengevoegd, en die (lossless) kunnen zijn gecomprimeerd.
  6. Een URL (of Uniform Resource Locator) is het adres van een bestand op het internet (bv. een webpagina zoals www.packed.be).
  7. Een domeinnaam is een naam in het Domain Name System (DNS), het naamgevingssysteem (op het internet) waarmee computers zoals webservers en mailservers alsook bepaalde diensten en toepassingen kunnen worden geïdentificeerd. In de URL http://www.packed.be/index.html is de domeinnaam packed.be .
  8. Een webadres is het adres van een bestand (bv. een webpagina) op het world wide web.
  9. Een directory is map binnen bestandssysteem waarin bestanden worden gegroepeerd. De directory's in een bestandssysteem vormen een hiërarchie, in de vorm van een boomstructuur. Een subdirectory een onderliggende map, een upperdirectory een bovenliggende map.
  10. Webrecorder is een tool die werd ontwikkeld door Rhizome.org om hoogwaardige, interactieve, contextuele archieven van sociale media en andere dynamische content te creëren. Voor meer info, zie https://webrecorder.io/