Webshop Product Analyses
Web scraper ontwikkeling
In deze casestudy neem ik je mee door de ontwikkeling van een web scraper en de daarbij horende uitdagingen, oplossingen, en het succesvolle resultaat.
Met deze web scraper stel ik de opdrachtgever in staat om productdata van verscheidene webshops geautomatiseerd te verzamelen. Voorheen gebeurde dit handmatig.

Type
- Web scraper, data-analyse
Rol
- Softwareontwikkelaar
- Onderhoud
- CI/CD
Tijdlijn
- 2024 - Heden
Opdrachtgever
- Externe opdrachtgever
Uitdagingen en doelen
De opdrachtgever van dit project houdt zich onder andere bezig met data-analyse van online producten. Daarbij houden ze specifieke producten in de gaten, met name wat de prijzen zijn en review-scores.
Mijn doel van dit project was om het handmatige werk van hun te automatiseren, zodat er dagelijks een nieuwe CSV-feed beschikbaar is met alle verzamelde productgegevens.
De meest geschikte programmeertaal om te gebruiken was Python. Omdat dit het eerste professionele project voor mij was waarbij ik Python moest toepassen, werd het net wat uitdagender voor mij. Desondanks dat, heb ik een goed product opgeleverd.
Architectuur en technieken
Zoals hierboven genoemd, is de web scraper met Python geïmplementeerd. Deze Python-script krijgt als argument een input CSV-feed met producten die moeten worden geanalyseerd. De output CSV-feed, is via een afgeschermde HTTP-endpoint, met behulp van Caddy 2, beschikbaar om te downloaden.
Het geheel draait op een Ubuntu server. Met behulp van cronjobs op de server, wordt de Python-script op ingestelde tijden automatisch uitgevoerd.

Ontwikkelproces
Tijdens dit project heb ik iteratief aan het project gewerkt. Tijdens tussentijdse meetings heb ik veranderende requirements en feedback kunnen opnemen.
Sinds de deployment van de eerste versie, heb ik continu updates geïmplementeerd en onderhoud gepleegd.
Testen
Zoals altijd, unittest ik alle code. Ik heb hierbij gebruik gemaakt van de ingebouwde Python unittest & mock libraries.
