# Verkrijgen en verwerken
---
## De volgende balie
Om terug te komen op het archiefkast voorbeeld, gaan we verder met de volgende balie. De secretaresse heeft het gevonden bestand gegeven aan haar collega die vervolgens op zoek gaat naar jouw rooster. Hij neemt het bestand in handen en kijkt ernaar.
```json
  Naam: Bram van der Veen
  Leerlingnummer: 16374
  Klas: Atheneum 6
  Voornaam: Bram
  Achternaam: van der Veen
  Soort: Leerling
  Rooster: roosters5.gepro-osi.nl/roosters/rooster.php?school=934&type=Leerlingrooster&afdeling=l_atheneum 6&leerling=16374
```
Hij bekijkt het bestand en richt zich gelijk op de laatste waarde van het bestand `Rooster`. Hier staat namelijk een link achter met de locatie van jouw rooster. Hij gaat naar die link en print de webpagina uit. Vervolgens pakt hij het papier met jouw rooster en knipt elk uur uit en zet het rooster opnieuw in elkaar. Hij doet dit met allemaal andere handige dingen en hij maakt de opmaak ook wat duidelijker. Dit is allemaal om de gebruiksvriendelijkheid te verbeteren.

---

## Data verkrijgen en algoritmes
Rooster.io gaat ook verder, door het bestand uit de database te verwerken. Hij doet hetzelfde als de collega in het verhaal hierboven. Hij knipt en plakt het rooster in een nieuw jasje. Maar dan op een geprogrameerde en efficiënte manier.

Hij gaat naar de link die is gegeven in het bestand en download het daar gevonden rooster als tekstbestand. Vervolgens gaat hij door dit tekstbestand heen om het rooster uit te vissen. Hij leest dit bestand volgens een bepaald algoritme. Dit is een soort algoritme wat voorgeprogrameerd is om bepaalde informatie uit tekstbestanden te halen. De informatie die verkregen word uit de webpagina is bijvoorbeeld de rooster informatie. Dit zijn dingen zoals welke uren je welke lessen hebt met welke docenten en in welk lokaal. Het algoritme verkrijgt ook informatie zoals de naam van het rooster.  Hij vertaalt dan deze door mensen te lezen informatie, in een soortgelijk [database bestand](http://werkmanrooster.nl/api/schedule?name=16374) zodat een computer het kan lezen. Het verschil in database bestanden tussen een rooster en die van een leerling, is het verschil van inhoud. Een database bestand van een leerling houdt informatie vast over de leerling, terwijl een database bestand van een rooster informatie vasthoud over een specifiek rooster. Nu moet er van dit database bestand een webpagina gemaakt worden.

[Volgende >>](/templates)
