Data mining · web scraping · browser automation

Waar anderen stoppen bij “geen API”, halen wij de data wél boven.

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.

Portaal Ophalen Controleren Saneren Database Rapport

Webportalen · rapporten · exports · publieke bronnen · bestaande accounts

Het gesprek stopt te vroeg

De leverancier zegt: “We hebben geen API.”

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

Stel: iedere ochtend moet iemand bij een leverancier inloggen.

Vandaag, met de hand

  • Inloggen
  • Klant selecteren
  • Periode kiezen
  • Rapport openen
  • Filters instellen
  • Export starten
  • Wachten
  • Bestand downloaden
  • Excel controleren
  • Data kopiëren

Daarna moet die informatie misschien nog naar een andere Excel, een database of een rapport.

Als flow

  1. Portaal
  2. Ophalen
  3. Controleren
  4. Saneren
  5. Database
  6. Automatisatie
  7. Rapport / PDF / mail / Power BI

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.

Wat is web scraping?

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.

Wat is data mining?

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.

Wat als de data alleen via een webportaal bereikbaar is?

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

  1. 08:00 Inloggen
  2. 08:01 Rapportage openen
  3. 08:01 Periode = gisteren
  4. 08:01 Export aanvragen
  5. 08:03 Rapport beschikbaar
  6. 08:03 Bestand gedownload
  7. 08:03 Records gecontroleerd
  8. 08:04 Afwijkingen genormaliseerd
  9. 08:04 Database bijgewerkt
  10. 08:05 Rapport aangemaakt
  11. 08:05 PDF verstuurd

Dit is een verzonnen voorbeeldrun om de stappen te tonen, geen bestaand klantenproject en geen belofte over doorlooptijd.

Een gedownload bestand is nog geen bruikbare dataset.

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:

  • kolommen mappen
  • datums normaliseren
  • decimalen corrigeren
  • duplicaten herkennen
  • ontbrekende waarden signaleren
  • productcodes koppelen
  • datasets combineren
  • foutieve records apart zetten
  • bron en verwerking loggen

Wanneer gebruiken we een API en wanneer scraping?

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.

  1. Is er een bruikbare API beschikbaar?

    JAde API gebruiken

  2. 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 bouwt

Safety First

Waar trekken we de lijn?

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.

Wat we niet doen

  • Geen beveiliging omzeilen.
  • Geen accounts gebruiken waarvoor geen toestemming bestaat.
  • Geen toegangsbeperkingen proberen te breken.
  • Geen data verzamelen alleen omdat ze technisch bereikbaar blijkt.

Als de oplossing alleen kan werken door iets te doen wat niet hoort, bouwen we ze niet.

Lees hoe we met veiligheid omgaan

Wat gebeurt er als de website verandert?

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.

Rapport verwacht

Is het rapport effectief ontvangen?

Aantal records

Is het aantal rijen logisch ten opzichte van vorige runs?

Kolommen

Zijn de verwachte kolommen nog aanwezig en herkenbaar?

Download mislukt

Loggen en melden in plaats van stil falen.

Afwijkende data

Niet blind importeren wanneer het resultaat niet klopt.

Historiek

Bijhouden wat er opgehaald werd, wanneer en met welk resultaat.

Een script dat stilletjes verkeerde data binnenhaalt is erger dan een script dat stopt.

Van bron tot beslissing.

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?

  1. Website / portaal / bestand
  2. Scraping / data-extractie
  3. Saneren en structureren
  4. Database
  5. API / automatisatie
  6. Rapportage / PDF / mail
  7. Power BI / dashboard

Wat kunnen we bijvoorbeeld ophalen of automatiseren?

Leveranciersrapporten

Rapporten automatisch genereren en downloaden uit leveranciersportalen.

Product- en catalogusdata

Beschikbare productinformatie uit toegestane bronnen structureren en vergelijken.

Prijzen en beschikbaarheid

Publiek of contractueel beschikbare informatie periodiek controleren.

Documenten

PDF-, Excel- of CSV-bestanden automatisch verzamelen en verder verwerken.

Meerdere portalen

Informatie uit verschillende bronnen samenbrengen in één dataset.

Monitoring

Controleren of gegevens, prijzen, beschikbaarheid of andere relevante informatie gewijzigd zijn.

Rapportage

De opgehaalde data omzetten in een eigen rapport, dashboard of branded PDF.

Automatische distributie

Het eindresultaat op het juiste moment naar de juiste personen sturen.

Zie wat er gebeurt tussen het portaal en je rapport.

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.

Ophalen

Inloggen, navigeren, exporteren en downloaden zonder tussenkomst.

Saneren

Kolommen mappen, datums normaliseren en afwijkingen apart zetten.

Afleveren

Database bijgewerkt, rapport gegenereerd, klaar voor verzending.

Start de scraping-demo

Eerst begrijpen wat je vandaag met de hand doet.

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.

Veelgestelde vragen over web scraping en data mining

Wat is web scraping?

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.

Wat is het verschil tussen web scraping en data mining?

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.

Wat als mijn leverancier geen API heeft?

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.

Kan een script automatisch inloggen op een webportaal?

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.

Kunnen rapporten automatisch worden gedownload en verwerkt?

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.

Kan de opgehaalde data automatisch in een database terechtkomen?

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.

Kan scraping gecombineerd worden met Power BI of procesautomatisatie?

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.

Is web scraping altijd toegestaan?

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.

Wat gebeurt er als de website of het leveranciersportaal verandert?

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.

Wanneer is een API beter dan scraping?

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.

Welke data krijg jij vandaag “niet uit het systeem”?

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.

🍪 Wij gebruiken cookies om je ervaring te verbeteren. Door verder te gaan, ga je akkoord met ons cookiebeleid.