Rapport verwacht
Is het rapport effectief ontvangen?
Data mining · web scraping · browser automation
Je leverancier heeft een portaal. Je kunt alles bekijken, rapporten openen en bestanden downloaden. Alleen een API? Die hebben ze niet.
Dan bouwen we software die het werk doet dat vandaag iemand met muis en toetsenbord uitvoert: inloggen, navigeren, wachten, downloaden, controleren, saneren en de gegevens afleveren waar jij ze nodig hebt.
Geen hackerstrucs. Wel koppig zoeken naar een werkbare, toegelaten route naar je data.
Webportalen · rapporten · exports · publieke bronnen · bestaande accounts
Het gesprek stopt te vroeg
Dat antwoord hoeft het einde van het gesprek niet te zijn.
Misschien kun je de gegevens wel bekijken in een webportaal. Misschien staat er ergens een exportknop. Misschien moet je eerst drie filters instellen, op “Rapport maken” drukken, twee minuten wachten en daarna een Excel-bestand downloaden.
Als een medewerker die stappen iedere dag of iedere week opnieuw kan uitvoeren, kunnen we vaak onderzoeken of software hetzelfde gecontroleerd kan doen.
Geen API betekent niet automatisch: geen data.
Van tien keer klikken naar data die vanzelf klaarstaat
Vandaag, met de hand
Daarna moet die informatie misschien nog naar een andere Excel, een database of een rapport.
Als flow
Wij kunnen zo’n proces omzetten in een script dat de voorspelbare stappen uitvoert en alleen stopt wanneer iets niet klopt.
De magie zit niet in het downloaden. De magie zit erin dat niemand er nog aan hoeft te denken.
Web scraping is het geautomatiseerd uitlezen van gegevens uit websites of webapplicaties. Software haalt daarbij informatie uit pagina’s of schermen en zet die om naar gestructureerde data die verder verwerkt kan worden.
Bij Ghostbuster kan scraping deel zijn van een grotere flow: gegevens ophalen, controleren, saneren, opslaan en daarna gebruiken in een database, rapport, automatisatie of dashboard.
Data mining gaat een stap verder dan gegevens verzamelen. Daarbij zoeken we in beschikbare datasets naar bruikbare structuren, verbanden, afwijkingen of patronen.
Dat kan beginnen met één bron, maar ook met data uit verschillende bestanden, websites, portalen, API’s of databases die eerst samengebracht en opgeschoond worden.
Scraping en data mining zijn niet hetzelfde. Scraping gaat over het ophalen van gegevens. Data mining gaat over wat je daarna in die gegevens kunt terugvinden.
Dan kan browser automation een oplossing zijn.
Een script kan bijvoorbeeld met een toegelaten account inloggen, menu’s openen, filters instellen, knoppen bedienen, wachten tot een rapport klaarstaat en het resultaat downloaden.
Voor de software zijn dat geen “muisklikken”. Het zijn reproduceerbare processtappen.
Fictief voorbeeld van een ochtendrun
Dit is een verzonnen voorbeeldrun om de stappen te tonen, geen bestaand klantenproject en geen belofte over doorlooptijd.
De interessante stap begint vaak pas nadat we het bestand hebben.
Een leverancier noemt een product bijvoorbeeld Artikelnummer, een andere SKU en een derde Product ID.
Of datums komen binnen als 01/09/2026, 2026-09-01 en 1 Sep 2026.
Voor een mens lijkt dat hetzelfde. Voor software moeten we expliciet bepalen wat hetzelfde betekent.
Daarom kan de flow ook het volgende bevatten:
Als er een goede en bruikbare API beschikbaar is, gebruiken we die meestal liever. Een API is doorgaans stabieler en expliciet bedoeld om software met software te laten communiceren.
Scraping of browser automation wordt interessant wanneer de informatie wel beschikbaar is, maar de leverancier geen bruikbare API of exportkoppeling aanbiedt.
Is er een bruikbare API beschikbaar?
JAde API gebruiken
Geen API, maar is de data op een toegelaten manier bereikbaar?
JAscraping of browser automation onderzoeken
NEEstoppen
Scraping is dus geen stoerder alternatief voor een API. Het is een pragmatische terugvaloptie wanneer de voordeur niet bestaat.
Lees hoe Ghostbuster API-koppelingen bouwtSafety First
We zoeken graag verder waar een ander stopt. Maar niet door beveiliging te omzeilen of gegevens op te halen waar je geen rechtmatige toegang toe hebt.
We werken bijvoorbeeld met publieke informatie, toegelaten gebruikersaccounts, beschikbare rapporten en gegevens die je als gebruiker of organisatie mag raadplegen.
De concrete toelaatbaarheid hangt af van de bron, de toegangsrechten, de gebruiksvoorwaarden, het soort gegevens en wat je ermee wilt doen. Waar juridische of privacyvragen spelen, moet de beoogde verwerking vooraf correct beoordeeld worden.
Slimmer werken is iets anders dan ergens binnendringen.
Als de oplossing alleen kan werken door iets te doen wat niet hoort, bouwen we ze niet.
Een scraper is afhankelijk van de bron. Verandert een leverancier zijn portaal, knopnamen of schermstructuur, dan kan een automatisatie ook moeten worden aangepast.
Daarom hoort bij een degelijke oplossing niet alleen “data ophalen”, maar ook controleren of het resultaat nog klopt.
Is het rapport effectief ontvangen?
Is het aantal rijen logisch ten opzichte van vorige runs?
Zijn de verwachte kolommen nog aanwezig en herkenbaar?
Loggen en melden in plaats van stil falen.
Niet blind importeren wanneer het resultaat niet klopt.
Bijhouden wat er opgehaald werd, wanneer en met welk resultaat.
Een script dat stilletjes verkeerde data binnenhaalt is erger dan een script dat stopt.
Soms bouwen we maar één stukje van die keten.
Soms halen we de gegevens op uit een leveranciersportaal, zetten ze schoon in een database, voeren er automatisch controles op uit en maken iedere ochtend een rapport.
De techniek is niet het vertrekpunt. De vraag is: welke informatie heb je nodig, waar zit ze vandaag en wat moet ermee gebeuren zodra we ze hebben?
Rapporten automatisch genereren en downloaden uit leveranciersportalen.
Beschikbare productinformatie uit toegestane bronnen structureren en vergelijken.
Publiek of contractueel beschikbare informatie periodiek controleren.
PDF-, Excel- of CSV-bestanden automatisch verzamelen en verder verwerken.
Informatie uit verschillende bronnen samenbrengen in één dataset.
Controleren of gegevens, prijzen, beschikbaarheid of andere relevante informatie gewijzigd zijn.
De opgehaalde data omzetten in een eigen rapport, dashboard of branded PDF.
Het eindresultaat op het juiste moment naar de juiste personen sturen.
In de interactieve demo gebruiken we een fictief leveranciersportaal en laten we stap voor stap zien wat de software ermee doet.
Niet alleen het downloaden.
Ook wat er daarna met de ruwe gegevens gebeurt voor ze bruikbaar zijn.
Inloggen, navigeren, exporteren en downloaden zonder tussenkomst.
Kolommen mappen, datums normaliseren en afwijkingen apart zetten.
Database bijgewerkt, rapport gegenereerd, klaar voor verzending.
Ghostbuster BV uit Oostkamp bouwt maatwerksoftware rond processen waarvoor standaardsoftware niet volstaat.
Bij scraping en data-extractie begint dat niet met een crawler. Eerst bekijken we waar de gegevens staan, hoe je er vandaag toegang toe hebt, wat ze betekenen en wat er uiteindelijk mee moet gebeuren.
Daarna bepalen we welke manier technisch robuust én passend binnen de toegelaten toegang is.
Soms is dat een API. Soms een export. Soms een browserautomatisatie. En soms is het juiste antwoord dat we een bepaalde bron niet automatiseren.
Web scraping is het geautomatiseerd uitlezen van gegevens uit websites of webapplicaties. Software haalt daarbij informatie uit pagina's of schermen en zet die om naar gestructureerde data die verder verwerkt kan worden.
Web scraping gaat over het ophalen van gegevens uit een bron. Data mining gaat een stap verder en zoekt in beschikbare datasets naar bruikbare structuren, verbanden, afwijkingen of patronen. In de praktijk volgt data mining vaak op het verzamelen en saneren van de gegevens.
Dan is de data daarom nog niet onbereikbaar. Als je de gegevens vandaag zelf kunt bekijken of exporteren via een webportaal, kunnen we onderzoeken of browser automation dezelfde stappen gecontroleerd kan uitvoeren. Of dat mag en kan, hangt af van de bron, je toegangsrechten en de gebruiksvoorwaarden.
Dat kan, met een account waarvoor toestemming bestaat. Het script kan inloggen, menu's openen, filters instellen, knoppen bedienen en wachten tot een rapport klaarstaat. We gebruiken geen accounts of toegangswegen waarvoor geen toestemming is.
Ja, dat is een van de meest voorkomende toepassingen. Het script kan het rapport aanvragen, wachten tot het beschikbaar is, het bestand downloaden en daarna de inhoud controleren en verwerken. Een CSV-, Excel- of PDF-bestand is daarbij het vertrekpunt, niet het eindpunt.
Ja. Meestal gebeurt dat pas nadat de gegevens gecontroleerd en gesaneerd zijn: kolommen mappen, datums normaliseren, decimalen corrigeren, duplicaten herkennen en foutieve records apart zetten. Zo komt er geen rommel in je database terecht.
Ja. Opgehaalde en gesaneerde data kan de bron zijn voor een dashboard, een geautomatiseerde workflow, een rapport of een branded PDF die automatisch verstuurd wordt. Welke stappen er precies nodig zijn, hangt af van wat je met de gegevens wilt doen.
Nee, dat kun je niet algemeen stellen. De toelaatbaarheid hangt onder andere af van de bron, toegangsrechten, voorwaarden, het soort gegevens en het gebruiksdoel. Ghostbuster bouwt geen oplossingen die afhankelijk zijn van het omzeilen van beveiliging of ongeoorloofde toegang.
Dan kan de automatisatie moeten worden aangepast. Een scraper is nu eenmaal afhankelijk van de structuur van de bron. Daarom bouwen we controles in: is het rapport ontvangen, klopt het aantal records, zijn de verwachte kolommen er nog? Bij een afwijking stopt het proces en volgt een melding, in plaats van verkeerde data door te sturen.
Zodra er een goede en bruikbare API bestaat, is die meestal de betere keuze. Een API is doorgaans stabieler en expliciet bedoeld om software met software te laten communiceren. Scraping en browser automation zijn vooral nuttig wanneer informatie wel beschikbaar is maar een passende softwarekoppeling ontbreekt.
Toon mij het scherm. Het portaal. Het rapport dat iemand iedere week handmatig downloadt. Of de leverancier die al drie jaar antwoordt dat er geen API komt.
Dan bekijken we waar de data werkelijk zit, hoe je er vandaag aan geraakt en of we dat proces op een betrouwbare en toegelaten manier kunnen automatiseren.
Je collega hoeft niet jaloers te zijn op waar je de data gevonden hebt. Wel op wat je ermee kunt doen.