Wat is web scraping en hoe werkt het?

web-scraping

Alle airlines op een rijtje

Stel je voor: je wilt een stedentrip boeken. Het maakt je niet uit wanneer je vliegt, zolang je er maar goedkoop tussenuit kan. Wat doe je? Juist: je bezoekt een wesbite zoals Cheaptickets.nl. Het enige wat je hier hoeft te doen is je bestemming en je datum invullen. Het resultaat is een enorm lange lijst met zoekresultaten, zodat je eenvoudig alle airlines met elkaar kunt vergelijken. Maar stel je nu eens voor dat websites zoals Cheaptickets.nl niet bestonden, en je op alle websites van alle airlines vluchten moest gaan uitpluizen en vergelijken… Daar ben je behoorlijk lang mee bezig! We kunnen dus niet meer zonder dit soort prijsvergelijkingswebsites; lang leve Cheaptickets.nl dus. Dit betekent ook: lang leve web scraping!

HTML-content

Web scraping is een techniek waarmee data als het ware van andere websites wordt gehaald (‘gescraped’). Deze data wordt geanalyseerd en vervolgens op een andere website hergebruikt. Het scrapen van websites is al een hele kunst op zich. Je moet namelijk alle tags in de HTML-code zien te verwijderen en alleen de ‘kale’ tekst met waardevolle informatie van de website filteren. Via de Hypertext Transfer Protocol (HTTP) kom je bij de HTML-content terecht en moet je de tags verwijderen. De HTML-data is vaak ongestructureerd van aard, en wordt tijdens het scrapen omgezet naar gestructureerde data die goed kan worden bewaard in bijvoorbeeld een database.

Beautiful Soup

Gedurende het scrapen moet je wel gebruikmaken van een programmeertaal. Laten we Python als uitgangspunt nemen; deze programmeertaal heeft namelijk een extra code waarmee scrapen soepeler verloopt. Deze code heet ‘Beautiful Soup’, oftewel BS4. Deze code kun je binnen Python installeren, zodat je op een eenvoudige manier de HTML-teksten van websites kunt halen. Web scraping wordt dus niet uitgevoerd door mensen zelf, maar is een volledig geautomatiseerd proces. Zogenaamde ‘web-crawlers’ of ‘bots’ verzamelen en categoriseren namelijk automatisch informatie.

Web scraping: een onschuldig proces?

Een goed voorbeeld van web scraping hebben we al gezien; online prijsvergelijking van bijvoorbeeld vliegtickets. Verder zijn het verzamelen van contactgegevens, nieuwsartikelen en onderzoek voorbeelden van web scraping. Web scraping is dus ontzettend nuttig als er regelmatig content op een website wordt geplaatst. Maar hoe onschuldig is web scraping precies? Is het alleen een kwestie van kopiëren en plakken van data, of schuilt er meer achter?

De nadelen van web scraping

De intentie of de doelstelling van web scraping kan dus ook minder goed bedoeld zijn. Hierbij moet je vooral denken aan het stelen van intellectuele eigendommen, oftewel copyright, en ophopingen van informatie creëren op meta-websites. In eerste instantie lijkt dit niet heel gevaarlijk, maar niets is minder waar. We lichten de keerzijdes van web scraping hieronder toe.

– Het geautomatiseerde proces kopieert en plakt veel sneller dan een mens. Het gevaar hiervan is dat jouw website in een mum van tijd kan worden nagemaakt. Dit proces verloopt zó gedetailleerd, dat bezoekers van websites het ‘echte’ verkeer niet meer van het ‘web scraping’ verkeer kunnen onderscheiden.

-Web scraping gaat ten koste van de echte content op websites. Officiële publicisten hebben namelijk het recht om hun eigen content te beheren, maar lang niet iedereen houdt zich aan de regels. De oplossing die daarvoor was bedacht, is de inzet van CAPTCHA’S. Je moet nu – voordat je sommige websites betreedt – even bewijzen dat je geen robot bent. Maar ook deze CAPTCHA’S houden helaas de allerslimste web scraping bots niet buiten de deur…

Want to know more?

Ben je benieuwd naar wat wij nog meer in petto hebben als het gaat om data science? Neem dan contact op met Jesse Luk via jesse@tottadatalab.nl. Je kunt natuurlijk ook even bellen naar 020 514 1328.

Posted on 9 augustus 2017

Share the Story

Back to Top