Web scraping er et af de emner som er i sådan et lidt gråt område – kan man tillade sig at gøre det eller hvordan? Hele ideen med at skrabe data fra et website er at lave en lille softwarerobot som (typisk med faste intervaller) kan hente data fra en hjemmeside for at udnytte de data i samspil med eks. egne data.
Eksemplerne er mange, lige fra at hente valutapriser, priser fra hjemmesider eller statistik til at scanne hele websites for at bygge en model. Man kan argumentere for at det jo “bare” er det samme som at manuelt åbne sin browser, navigere ind på siden og læse de data, evt. markere dem og kopiere dem ind i et regneark, helt manuelt. Den eneste forskel her er at vi har udviklet en lille robot ved et programmeringssprog (fx. Python, PHP eller C#) eller via en softwarerobot (RPA) – softwarerobotter kan udvikles på mindre end en time og kan løse langt de fleste opgaver.
Noget af kritikken for at bruge en robot til at skrabe information ud fra hjemmesider går på at en almindelig person har en vis begrænsning for hvor hurtigt man kan læse og kopiere fra siden, den samme begrænsning har man ikke når man bygger en robot. En robot kan nemt læse hundredvis af sider på samme tid og det vil skade oplevelsen for de “rigtige” mennesker som besøger hjemmesiden, da den vil bruge en masse ressourcer på at levere sider til en robot.
Som udgangspunkt skal man opføre sig ordentligt når man skraber data og ikke bare trykke på speederen og tvinge hjemmesiden i knæ. I dag kan man ved at bruge cloud ressourcer nemt skrive en robot som kan tvinge en side i knæ for nogle få kroner. Samtidig er der nogle effektivitetselementer man som professionel softwareudvikler kan benytte – der er ikke langt fra at programmere en stifindingsalgoritme til fx. en labyrinth til at navigere rundt på en hjemmeside. Man besøger ikke samme side mere end een gang – dette er nogle af de klassiske algoritmer man som softwareudvikler har arbejdet meget med under uddannelse.
Eksempler
For at gøre det lidt mere konkret end en snak omkring algoritmer og programmeringssprog, så kommer her et par eksempler på hvordan man kan bruge dette i praksis. Lad os antage at man har en interesse i klassiske møbler – helt konkret Wegner’s Y stol, model CH24. Man er interesseret i at finde ud af hvad de handles til på den blå avis og gul og gratis, for at kunne få besked når der kommer en til salg som ligger under markedsprisen. Det kan man nemt bygge en lille robot til, som så søger for en og trækker priserne ud på alle sammen og gemmer dem i et regneark. Dette gør man hver morgen. Næste skridt er så at opsætte en regel i sin robot om at hvis der bliver sat en til salg som ligger fx. 20% under markedsprisen, så skal man have en besked (hvis man helt automatiserer dette, vil den byde på den, eller skrive en besked til sælger).
Det andet eksempel (noget vi hos Median har udviklet til en kunde) er at holde øje med alle kunders hjemmesider, hvis de skriver nogle bestemte ord på deres side er det et tegn på at de er i en speciel kundegruppe. Samtidig holder robotten også øje med deres nyheder på hjemmesiden og kigger efter tegn på om de er ved at udvide forretningen og kan bruge vores kundes produkter. For vores eget (Median Aps) tilfælde vil det svare til at vi scannede virksomheder i fx. Aalborg og kiggede efter alle som skrev på deres hjemmeside at de var ved at kigge på at skulle arbejde med softwarerobotter eller softwareintegrationer (dette kan også udvides til at kigge på LinkedIn og hente data her).
Web skrabere som integration
Det er også muligt at bruge de her web skrabere indenfor sin egen virksomhed. Det kan være at trække data ud fra et system man bruger i sin dagligdag, som bare ikke gør det muligt at få fat i data på andre måder (der er fx. ikke et API til systemet). Her kan man relativt nemt bygge en robot til at trække data ud fra brugergrænsefladen og flytte dette til et andet system. Rent praktisk kan dette være at logge ind i sin webshop, flytte ordredata over til regnskabssystemet – vupti så har man en halv-automatisk integration. Det kan også være at trække data ud fra flere forskellige kildesystemer for at bygge en månedsrapport.
Denne type integrationer er dem vi typisk ser når vi hjælper virksomheder med at komme i gang med RPA robotter – simpel rapportering, hvor regnskabsfunktionen bruger halve eller hele dage på at samle data sammen.
Opsamling
Web skrabere er nemme at lave, det er nemt at komme i gang. Men som med alt muligt andet skal der en solid business case til, før end man som virksomhed kan får værdi ud af det. Samtidig skal man behandle andres hjemmesider og systemer med respekt og sikre at man ikke bringer deres systemer i knæ. Opfør dig ordentligt, så skal det nok gå.