Opsummering
Researchorganisationen bruger tid på at erstatte manuel eller tilfældig indsamling fra websites med gentagelig dataudtrækning.
Løsningen blev en konfigurerbar scraper, der følger sideregler, håndterer dynamisk indhold og eksporterer strukturerede poster.
Softwaren er udviklet til at reducere manuel indsamling og uensartet dataudtrækning.
Kundehistorie
Kunden er en researchorganisation fra Tyskland. Den indsamler produkt-, annonce- og kontaktdata fra offentlige websites til researcharbejde.
Manuel og tilfældig indsamling koster teamet tid, især når målwebsites bruger sideinddeling, ændrede sidetyper og dynamiske tabeller.
Anmodningen var enkel: Modtag mål-URL'er eller URL-mønstre, konfigurerbare selektorer eller konfigurationsfiler, og returnér valgt websiteindhold som strukturerede poster.
Løsningen blev bygget omkring konfigurerbare feltregler, crawling på tværs af flere sider og browserbaseret rendering. Planlagte kørsler og tydelige logs understøttede gentagelig indsamling.
Kunden bad om
- Modtag URL'er, URL-mønstre, selektorer, XPath'er eller konfigurationsfiler
- Udtræk valgt indhold til strukturerede poster
- Følg sideinddeling på tværs af sider og websites
- Håndter JavaScript-sider, dynamiske tabeller og lazy loading
Hvorfor standardsoftware ikke passede
Standardsoftware til dataudtræk dækker mange kildetyper, mens administrerede scrapingtjenester fokuserer på API'er, browserinfrastruktur og proxy-tjenester. Denne kunde havde brug for projektspecifikke felter, selektorer og regler for sideinddeling. Løsningen skulle også kunne køre lokalt og indeholde dokumentation samt definerede outputkrav.
Projektoversigt
Løsningen blev designet omkring en konfigurationsskærm, hvor researchteamet definerer mål-URL'er, felter og selektorer. Regler for sideinddeling og outputformater er også tilgængelige.
For at håndtere forskellige sidetyper bruger scraperen konfigurerbare udtræksregler for felter, synlig tekst og tabeller. Den crawler relaterede sider og følger sideinddeling efter behov.
Browserbaseret rendering blev leveret til JavaScript-sider, dynamiske tabeller og lazy-loaded indhold. Statiske sider kan i stedet bruge direkte HTTP-anmodninger og HTML-fortolkning.
Løsningen blev også udviklet til gentagelig drift. Den kan køres fra kommandolinjen eller en lokal maskine, understøtter planlægning og registrerer fejl og gentagne forsøg.
De indsamlede poster kan derfor eksporteres til CSV, JSON eller Excel. PostgreSQL, et enkelt REST JSON-endpoint og projektdokumentation understøtter videre brug i kundens team.
Vigtigste leverede funktioner
- Konfigurerbare mål-URL'er og URL-mønstre
- Editor til feltselektorer og XPath
- Crawling på flere sider og sideinddeling
- Rendering af JavaScript og lazy-loaded indhold
- CSV-, JSON- og Excel-eksport
- Ratebegrænsninger, forsinkelser, gentagne forsøg og user-agent-indstillinger
- Kørselshistorik og scrapinglogs
- Levering via PostgreSQL eller REST JSON