Samenvatting
De onderzoeksorganisatie besteedt tijd aan het vervangen van handmatige of ad-hocverzameling van websitedata door herhaalbare extractie.
De oplossing werd een configureerbare scraper die paginaregels volgt, dynamische content verwerkt en gestructureerde records exporteert.
De software is ontwikkeld om handmatige verzameling en inconsistente extractie te verminderen.
Klantverhaal
De klant is een onderzoeksorganisatie uit Duitsland. Voor onderzoekswerk verzamelt de organisatie product-, aanbod- en contactgegevens van openbare websites.
Handmatige en ad-hocverzameling kost het team tijd, vooral wanneer doelwebsites paginering, veranderende paginastructuren en dynamische tabellen gebruiken.
De vraag was eenvoudig: accepteer doel-URL's of URL-patronen, configureerbare selectors of configuratiebestanden, en lever geselecteerde websitecontent als gestructureerde records.
De oplossing is opgebouwd rond configureerbare veldregels, crawlen over meerdere pagina's en browsergebaseerde rendering. Geplande uitvoeringen en duidelijke logs ondersteunen herhaalbare verzameling.
De klant vroeg om
- URL's, URL-patronen, selectors, XPath's of configuratiebestanden accepteren
- Geselecteerde content extraheren naar gestructureerde records
- Paginering over pagina's en websites volgen
- JavaScript-pagina's, dynamische tabellen en lazy loading verwerken
Waarom kant-en-klare software niet voldeed
Kant-en-klare software voor data-extractie ondersteunt veel brontypen, terwijl beheerde scrapingdiensten zich richten op API's, browserinfrastructuur en proxyservices. Deze klant had projectspecifieke velden, selectors en pagineringsregels nodig. De oplossing moest ook lokaal kunnen draaien en documentatie en vastgelegde uitvoervereisten bevatten.
Projectoverzicht
De oplossing is ontworpen rond een configuratiescherm voor de scraper, waarin het onderzoeksteam doel-URL's, velden en selectors instelt. Regels voor paginering en uitvoerformaten zijn ook beschikbaar.
Om verschillende paginastructuren te verwerken, gebruikt de scraper configureerbare extractieregels voor velden, zichtbare tekst en tabellen. De scraper doorloopt gekoppelde pagina's en volgt waar nodig de paginering.
Voor JavaScript-pagina's, dynamische tabellen en lazy-loaded content is browsergebaseerde rendering beschikbaar. Statische pagina's kunnen in plaats daarvan directe HTTP-verzoeken en HTML-parsing gebruiken.
De oplossing is ook ingericht voor herhaalbare uitvoering. Ze draait vanaf de opdrachtregel of een lokale machine, ondersteunt planning en registreert fouten en nieuwe pogingen.
Verzamelde records kunnen daardoor naar CSV, JSON of Excel worden geëxporteerd. PostgreSQL, een lichtgewicht REST JSON-endpoint en projectdocumentatie ondersteunen verder gebruik door het klantteam.
Geleverde kernfuncties
- Configureerbare doel-URL's en URL-patronen
- Selector- en XPath-editor voor velden
- Crawlen over meerdere pagina's en paginering
- Rendering van JavaScript en lazy-loaded content
- CSV-, JSON- en Excel-export
- Snelheidslimieten, vertragingen, nieuwe pogingen en user-agentinstellingen
- Uitvoergeschiedenis en scrapinglogs
- Levering via PostgreSQL of REST JSON