Datainnhenting fra nettsteder, PDF-er og registre
Dataene finnes. De er bare ikke i et format noen kan bruke. Vi henter dem ut, og vi sier fra hva som er mulig før du bruker penger på det.
Data som finnes, men ikke i et format noen kan bruke
Priser hos en konkurrent. Produkter i en PDF-katalog fra en leverandør. Kampanjer i en kjedeavis. Oppføringer i et register. Dataene er offentlige og synlige — de er bare ikke tilgjengelige.
Det er den jobben vi gjør: å få dem ut i et format du kan regne på, og å holde uttrekket i live når kilden endrer seg.
Fire typer kilder, fire ulike jobber
1. Nettsteder
Den vanskelige delen er sjelden å hente en side. Den er å finne ut hvilken vei inn i katalogen som i det hele tatt er åpen. Vi har skrevet ut en hel kartlegging — fem veier, fire blindveier — i artikkelen om å hente produktdata fra en nettside.
2. PDF-dokumenter
En PDF er et layoutformat, ikke et dataformat. Det som ser ut som en tabell for et menneske, er ofte løsrevne tekstbokser med koordinater. Hvordan vi løser det — og hvor grensen går for hva som er verdt å prøve — står i artikkelen om produktdata ut av PDF-kataloger.
3. Registre og offentlige kilder
Brønnøysundregistrene, leverandørregistre, oppslag som skal verifisere at et navn faktisk hører til et organisasjonsnummer. Her er jobben ikke å hente, men å matche — og å si «funnet: nei» i stedet for å gjette når treffet er usikkert.
4. Formater uten struktur
Regneark der samme leverandør er skrevet på fire måter. Bilder uten filnavn som betyr noe. Data som må ryddes før de kan brukes til noe. Ofte den største enkeltposten i et prosjekt.
Vi anslår før vi priser
Spriket mellom en enkel og en vanskelig kilde er så stort at en fra-pris ikke ville betydd noe. Derfor bruker vi en femdelt skala: N1 er en åpen feed noen allerede har lagt ut, N5 er uendelig scroll uten noe API i bunnen.
Skalaen og hva hvert nivå faktisk koster i arbeid, står i gjennomgangen av N1 til N5. Vi setter nivået før vi gir pris, og vi sier fra hvis svaret er N5 og jobben ikke er verdt det.
Det juridiske, kort
Produktdata er ikke persondata. Priser, artikkelnumre og lagerstatus faller ikke inn under personopplysningsloven. Tre andre ting avgjør:
- Brukervilkårene på nettstedet. Ikke straffelov, men en avtale — og bryter du den, har motparten et krav
- Databasevernet i åndsverkloven. Å hente noen priser er noe annet enn å kopiere hele katalogen og publisere den som din egen
- Belastningen. Vi henter sakte, med pauser mellom forespørslene, slik at vi ikke legger last på en server som skal betjene andre. Blir vi bedt om å stoppe, stopper vi
Og alternativet vi alltid foreslår først: spør om en offisiell datakanal. Mange leverandører har en partnerfeed de gladelig gir ut. Det er billigere enn all teknikken over, og det tåler dagslys.
Hva vi ikke lover
Vi lover ikke full dekning. I kartleggingen vi har skrevet om, kom vi aldri i mål med hele katalogen — og det står i artikkelen fordi det er sant, ikke fordi det kler oss. Vi lover heller ikke at uttrekket varer evig; kilder endrer seg, og alt som er avhengig av noen andres system arver deres endringer.
Vi lover at vi sier fra hva som er mulig før du bruker penger, og at uttrekket stopper i stedet for å levere halve data videre.
Vi har skrevet ut hvordan dette faktisk går for seg
3 artikler fra ekte oppdrag, med blindveiene beskrevet like nøye som løsningene. De hører til datainnhenting.
-
Vi hentet en produktkatalog — fire av fem veier var blindveier
Vi kartla en norsk produktkatalog for å hente ut varedata. Fire av fem veier var blindveier. Her er hver eneste av dem — og de 19 % vi endte på.
-
Nivågradering av kataloger: hva N1 til N5 koster
En skala fra N1 til N5 for hvor vanskelig det er å hente ut en produktkatalog — med konkrete tegn å se etter, og hva hvert nivå betyr for tid og pris.
-
Produktdata ut av en PDF-katalog: løsningen lå i fontvekten
En PDF er et layoutformat, ikke et dataformat. Slik henter vi produktdata ut av kataloger og kampanjeaviser — og matcher produkter uten felles nøkkel.
Spørsmål
Spørsmål om datainnhenting
Produktdata er ikke persondata, så personopplysningsloven er ikke det som avgjør. Tre andre ting gjør det: brukervilkårene på nettstedet, databasevernet i åndsverkloven, og belastningen du påfører serveren. Vi leser vilkårene og robots.txt før vi skriver en linje kode, og vi anbefaler alltid å spørre om en offisiell datakanal først.
Det avhenger helt av hvordan kilden er bygget. En åpen feed er en ettermiddag; en katalog bak lat lasting uten noe API kan være uker — eller ikke la seg gjøre. Vi bruker en femdelt skala fra N1 til N5 for å anslå det før vi priser, og vi sier fra hvis svaret er N5.
Ofte, men ikke alltid. En PDF er et layoutformat, ikke et dataformat — det som ser ut som en tabell for deg, er gjerne løsrevne tekstbokser med koordinater. Send oss en prøvefil, så sier vi hva som lar seg gjøre før du bruker penger på det.
Da knekker uttrekket. Det er ikke et spørsmål om, men når. Derfor bygger vi inn stoppunkter: en kjøring som får færre rader enn forventet skal stoppe og si fra, ikke skrive et halvtomt resultat videre.
Ja. Regneark, JSON, eller rett inn i systemet du allerede bruker. Dataene er dine, og vi bygger ingen låser som gjør at du må bli hos oss.

