Week 9 - Een weekje extra
Deze week ben ik tot de ontdekking gekomen dat ik een weekje meer dan verwacht tijd heb voor het ontwikkelen van het project. De oorzaak hiervan is een domme rekenfout waar maar één iemand verantwoordelijk voor is en ja, dat ben ik. Ik had uitgerekend dat er 13 weken waren van 20 september tot 24 december. In deze periode valt de herfstvakantie en omdat ik officieel 13 weken stage moet lopen, ben ik tijdens de herfstvakantie blijven werken. Nu zit ik deze week echter aan week 9 en telde ik opnieuw uit hoeveel weken er nog volgden tot 24 december. Het blijkt dus dat er na deze week nog 5 volgen en als we 5 bij 9 optellen komen we aan 14 weken! En jawel, na een grondige bestudering van de kalender heb ik vastgesteld dat er effectief 14 weken zijn van 20 september tot 24 december. Met als gevolg dat ik tijdens de herfstvakantie dus geen stage had moeten lopen.
Laten we het positief bekijken, één week extra wil zeggen één week extra de tijd om het project te perfectioneren!
Scraping
Deze week heb ik een “extra” opdracht gekregen. Veel werknemers van Inventis die deelnemen aan de marathon, posten hun trainingen op Runkeeper. Runkeeper is een applicatie die U kan installeren op Uw smartphone. Deze applicatie maakt gebruik van de ingebouwde GPS om U te volgen tijdens de activiteit en informatie zoals snelheid, tijd, afstand, enzovoort te verzamelen. Deze gegevens kunt U daarna posten op de Runkeeper website en delen met je vrienden.
Op de Inventis Running website komt er ook een overzicht van de trainingen van de deelnemer. Om deze gegevens niet opnieuw te moeten ingeven zouden we graag de informatie ophalen via Runkeeper. Runkeeper heeft echter geen API zodat er geen methode is om te communiceren met deze website. Daarom gaan we gebruik maken van scraping.
Met scraping kunnen we informatie van andere websites uitlezen. Wat we eigenlijk gaan doen met deze methode is de broncode van een website inlezen om deze vervolgens te verwerken. In dit geval gaan we de broncode van de activiteitenpagina van de Runkeeper gebruiker inlezen om daaruit informatie zoals datum, tijd, afstand,… over elke training op te vragen. Deze informatie kunnen we vervolgens opslaan in onze eigen database.
Ai, een week vakantie gemist! ;)
Scraping is een goede oplossing voor dit soort problemen, vroeger deden developers dit zeer vaak. Het grote probleem is natuurlijk dat de sitestructuur niet of weinig mag veranderen. Gelukkig heb je in dit geval geen langdurige scraper moeten maken en is dat je wat bespaard gebleven, want plezant of makkelijk is het niet!
Goed dat je het positief bekijken, het uitwerken van de frontend gaat nog een uitdaging zijn want BartVDB heeft er een kunstwerkje van gemaakt!