3 Verschillende Scrapingmethodes

jul. 01, 2020

Nu je bekend bent met de term scraping kunnen we een stapje verdergaan. In deze blog spitsen we ons toe op drie verschillende manieren om data van het internet te halen. Je zal kennis maken met flat scraping, selenium scraping en browser plug-ins.


Flat scraping (statisch)

We gaan eerst een stapje terug: hoe werken websites. Om een website te zien zoals we die als internetgebruiker kennen rendert een browser de HTML-broncode van een website en vormt het die om tot een visueel geheel. Met andere woorden een website zoals wij die kennen.

Hoe werkt flat scraping?

Met flat scraping haal je die bewuste HTML-broncode op. Meestal doen we dit met Python. We maken requests naar een server en zo krijgen we de broncode teruggestuurd, een flat file. Vervolgens zoek je binnen die HTML-pagina naar bepaalde data, zoals meta tags bijvoorbeeld, zonder de broncode te renderen en om te vormen tot een site. Dit fenomeen noemen we flat scraping. In de meeste gevallen zal je niet vinden wat je zoekt, want je mist enorm veel informatie, omdat je de broncode niet inlaadt. Je zal dan ook browser nodig hebben om de data te vinden die je zoekt, meer hierover bij Selenium scraping.

Een aanval zonder camouflage

Het nadeel van deze indexeringsmethode is dat zowel grote als kleine bedrijven, deze vorm van scraping makkelijk kunnen detecteren. HTML-codes opvragen zonder ze te renderen is verdacht, want dat is geen normale browseractiviteit. Een normale gebruiker opent een browser en voert acties uit op een site. Gebruik je geen browser en request je toch broncodes? Dan ben je een flat scraper en ook bedrijven weten dat.

Selenium scraping (dynamisch)

Selenium scraping, ook wel browser of Chrome scraping genoemd, werkt als volgt: de bot opent een browser, navigeert naar een site en voert daar acties uit, zoals klikken op knoppen, scrollen en formulieren invullen. Tot slot zal deze webbrowser automatisatietool de site sluiten.

Net zoals jij dat als persoon zou kunnen doen en dat is net wat we doen met scraping. Het is simpelweg een achterpoortje om sneller data binnen te kunnen halen. We vervangen manuele acties, of een persoon, door een geautomatiseerde (ro)bot.

Hoe werkt Chrome scraping?

Aangezien we met Selenium gebruikmaken van een browser, renderen we de HTML-broncodes, CSS- en JavaScript bestanden. De website laadt dus delen dynamisch in met JavaScript, waardoor we wel de data kunnen vinden die we zoeken. Met deze vorm van scraping voeren we automatisch acties uit via een browser op een website. De data die we opvragen zal te zien zijn in een JSON-formaat.

Een serieuze inspanning voor een server

Het probleem hierbij is dat het scrapen van een miljoen URL’s heel zwaar is voor een server. Waarom? Een browser, zoals Chrome, wordt nooit echt afgesloten. Hierdoor kan je eindigen met een server waar honderden instances van Chrome draaien, zo wordt je server super traag. Waarom Chrome dat doet is niet echt geweten.

Browser automatisatie is detecteerbaar

Deze manier van scrapen heeft lang goed gewerkt en wordt nog steeds door veel bedrijven gebruikt. De problematiek die we nu zien is dat je kan detecteren welke versie van Chrome iemand gebruikt en of deze al dan niet geautomatiseerd is. Alles wat geautomatiseerd wordt gestuurd, wordt geblokt door bedrijven. Facebook bijvoorbeeld zal je meteen herkennen als bot en je wegsturen. Bovendien weten we uit ervaring dat je maximaal 900 pagina’s per sessie kan scrapen bij Facebook. Ook dat maakt het al een stuk moeilijker om reuzen zoals hen te indexeren.

Alleen manueel bediende Chrome versies zijn nog toegelaten. Timothy Verhaeghe, CTO ProductBuilder: “Het punt hierbij is dat je IP-adres forever geblacklist zal worden, (maar echt forever!) en je dus nooit meer naar Facebook kan surfen bijvoorbeeld. Tenzij je Telenet lastigvalt en een nieuw IP-adres aanvraagt, natuurlijk (lacht).”

De beste scrapers zijn scrapers die feilloos human behaviour simuleren.
- Timothy Verhaeghe

3. Browser plug-ins

Scraping tools hanteren hier de browser die je al gebruikt, om het nog menselijker te doen lijken. Ook deze manier van scrapen is detecteerbaar, want er worden automatisch acties uitgevoerd. Neem als voorbeeld de automatisatietool voor LinkedIn, DuxSoup. Wanneer een LinkedIn profiel 500 andere profielen bezoekt op één dag, zal LinkedIn dit herkennen. Er is namelijk niemand die manueel zoveel profielen bezoekt.


Laura Verbeke - Marketing Expert

Our youngest team member full of ambition is responsible for all our marketing activities. She’s also the sympathetic and thoughtful contact person for some of our fantastic brands!

Top! je hebt je succesvol ingeschreven.
Top! Nu nog de checkout afronden voor volledige toegang.
Welkom terug! Je bent succesvol ingelogd.
Yes! je account is volledig geactiveerd, je hebt nu toegang to alle inhoud.