Sammanfattning
Researchorganisationen lägger tid på att ersätta manuell eller tillfällig insamling från webbplatser med återkommande extrahering.
Lösningen blev en konfigurerbar skrapa som följer sidregler, hanterar dynamiskt innehåll och exporterar strukturerade poster.
Programvaran är utformad för att minska manuell insamling och ojämn extrahering.
Kundberättelse
Kunden är en researchorganisation från Tyskland. Den samlar in produkt-, annons- och kontaktdata från offentliga webbplatser för researcharbete.
Manuell och tillfällig insamling kostar teamet tid, särskilt när målwebbplatser använder sidnumrering, föränderliga sidstrukturer och dynamiska tabeller.
Beställningen var enkel: ta emot mål-URL:er eller URL-mönster, konfigurerbara väljare eller konfigurationsfiler och returnera valt webbplatsinnehåll som strukturerade poster.
Lösningen utformades kring konfigurerbara fältregler, genomsökning av flera sidor och webbläsarbaserad rendering. Schemalagda körningar och tydliga loggar stödde återkommande insamling.
Kunden bad om
- Ta emot URL:er, URL-mönster, väljare, XPath eller konfigurationsfiler
- Extrahera valt innehåll till strukturerade poster
- Följa sidnumrering över sidor och webbplatser
- Hantera JavaScript-sidor, dynamiska tabeller och lazy loading
Varför färdig programvara inte passade
Färdig programvara för dataextrahering täcker många källtyper, medan hanterade skraptjänster fokuserar på API:er, webbläsarinfrastruktur och proxytjänster. Kunden behövde projektspecifika fält, väljare och sidnumreringsregler. Lösningen behövde också kunna köras lokalt, ha dokumentation och uppfylla definierade utdata krav.
Projektöversikt
Lösningen utformades kring en konfigurationsvy där researchteamet definierar mål-URL:er, fält och väljare. Regler för sidnumrering och utdataformat finns också tillgängliga.
För att hantera olika sidstrukturer använder skrapan konfigurerbara extraktionsregler för fält, synlig text och tabeller. Den genomsöker länkade sidor och följer sidnumrering vid behov.
Webbläsarbaserad rendering används för JavaScript-sidor, dynamiska tabeller och lazy-loadat innehåll. Statiska sidor kan i stället använda direkta HTTP-anrop och HTML-parsning.
Lösningen utformades också för återkommande körningar. Den körs från kommandoraden eller en lokal dator, stöder schemaläggning och registrerar fel och nya försök.
Insamlade poster kan exporteras till CSV, JSON eller Excel. PostgreSQL, en enkel REST JSON-endpoint och projektdokumentation stöder teamets fortsatta användning.
Viktiga levererade funktioner
- Konfigurerbara mål-URL:er och URL-mönster
- Redigerare för fältväljare och XPath
- Genomsökning av flera sidor och sidnumrering
- Rendering av JavaScript och lazy-loadat innehåll
- CSV-, JSON- och Excel-export
- Hastighetsbegränsningar, fördröjningar, nya försök och user-agent-inställningar
- Körhistorik och skraploggar
- Leverans via PostgreSQL eller REST JSON