Tegenwoordig is er ontzettend veel data beschikbaar op websites. Maar hoe kun je die data nu gebruiken voor analyses? Met deze vraag ben ik aan de slag gegaan en heb ik het volgende vraagstuk als voorbeeld gebruikt: “Hoe kan ik de data van goksites gebruiken om goedkope weddenschappen te vinden”. Elke dag komen er nieuwe weddenschappen beschikbaar, maar niet alle weddenschappen hebben dezelfde winstmarge. En om te voorkomen dat je handmatig alle websites moet doornemen, wil ik dit gaan automatiseren.
Om de analyse te automatiseren is er gebruik gemaakt van Python. Python biedt samen met verschillende packages de mogelijkheid om websites te scrapen. Met behulp van een API call wordt de data opgehaald worden in JSON format. Deze data kan verder worden ontleed tot gestructureerde data.
Met de volgende code kunnen we een call sturen naar de API:
Het resultaat wat hier uit komt is nog niet leesbaar. Daarvoor hebben we een JSON parser nodig, er zijn verschillende JSON parsers te vinden via Google. Met behulp van de JSON parser kan de data worden geanalyseerd en gestructureerd.
Onderstaande code wordt gebruikt hiervoor en de laatste regel aan code zorgt ervoor dat het resultaat wordt gegeneerd:
Dankzij deze oplossing kan er vrij snel en makkelijk data worden opgehaald uit verschillende webpagina’s. Voordelen van deze mogelijkheid is dat de url endpoint niet per se hard gecodeerd hoeft te worden. Zo kunnen op andere websites het paginanummer dynamisch worden gecodeerd zodat er meerdere pagina’s gescrapet kunnen worden. Een nadeel van deze mogelijkheid is dat scraping via API calls steeds lastiger wordt. De grootste horde hierbij is de time-out bij een stortvloed aan calls als beveiligingsmechanisme. Hiervoor zal een sleep timer moeten worden toegevoegd om de beveiliging te kunnen omzeilen. Dit zorgt er wel voor dat het scrapen enigszins vertraagd wordt. Dit is echter nog steeds een stuk effectiever dan handmatig de pagina’s analyseren.
Dit is een eerste stap om de data van verschillende websites op te halen voor analyses. In een volgende blog zullen we dieper ingaan op het verder structureren van de data.
Wil je meer informatie?
Neem contact op en kom in gesprek met onze experts.