Webskraping - Web scraping

Webskraping , webhøsting eller ekstraksjon av webdata er dataskraping som brukes for å trekke ut data fra nettsteder . Nettskrapingsprogramvaren kan få direkte tilgang til World Wide Web ved hjelp av Hypertext Transfer Protocol eller en nettleser. Selv om webskraping kan utføres manuelt av en programvarebruker, refererer begrepet vanligvis til automatiserte prosesser implementert ved hjelp av en bot eller web -søkerobot . Det er en kopieringsform der spesifikke data samles inn og kopieres fra nettet, vanligvis til en sentral lokal database eller regneark, for senere henting eller analyse .

Webskraping av en webside innebærer å hente den og trekke den ut. Henting er nedlasting av en side (som en nettleser gjør når en bruker ser en side). Derfor er webgjennomgang en hovedkomponent i webskraping, for å hente sider for senere behandling. Når den er hentet, kan ekstraksjon finne sted. Innholdet på en side kan analyseres , søkes, formateres på nytt, dataene kopieres til et regneark eller lastes inn i en database. Nettskrapere tar vanligvis noe ut av en side for å bruke det til et annet formål et annet sted. Et eksempel kan være å finne og kopiere navn og telefonnumre, eller selskaper og deres nettadresser, eller e-postadresser til en liste (kontaktskraping).

Webskraping brukes til kontaktskraping , og som en komponent i applikasjoner som brukes til webindeksering , web mining og data mining , online prisendringsovervåking og prissammenligning , skraping av produktanmeldelser (for å se konkurransen), innsamling av eiendomsoppføringer, værdata overvåking, oppdagelse av endringer i nettsted , forskning, sporing av tilstedeværelse og omdømme online, webmashup og integrering av webdata .

Websider er bygget med tekstbaserte markeringsspråk ( HTML og XHTML ), og inneholder ofte et vell av nyttige data i tekstform. Imidlertid er de fleste nettsider designet for menneskelige sluttbrukere og ikke for enkel automatisert bruk. Som et resultat har spesialiserte verktøy og programvare blitt utviklet for å lette skraping av websider.

Nyere former for nettskraping innebærer overvåking av datastrømmer fra webservere. For eksempel brukes JSON ofte som en transportlagringsmekanisme mellom klienten og webserveren.

Det er metoder som noen nettsteder bruker for å forhindre skraping på nettet, for eksempel å oppdage og ikke tillate at roboter gjennomsøker (ser) sidene deres. Som svar er det nettskrapingssystemer som er avhengige av å bruke teknikker i DOM -parsing, datasyn og naturlig språkbehandling for å simulere menneskelig surfing for å muliggjøre innsamling av nettsideinnhold for offline analyse.

Historie

Historien om webskraping går nesten tilbake til tiden da World Wide Web ble født.

  • Etter fødselen av World Wide Web i 1989 ble den første webroboten, World Wide Web Wanderer , opprettet i juni 1993, som bare var ment å måle størrelsen på nettet.
  • I desember 1993, den første crawler-basert web-søkemotor , JumpStation , ble lansert. Siden det ikke var så mange nettsteder tilgjengelig på nettet, pleide søkemotorer på den tiden å stole på sine menneskelige nettstedadministratorer for å samle og redigere koblingene til et bestemt format. Til sammenligning tok JumpStation et nytt sprang, og var den første WWW -søkemotoren som stolte på en nettrobot.
  • I 2000 kom den første Web API og API -søkeroboten . API står for Application Programming Interface . Det er et grensesnitt som gjør det mye lettere å utvikle et program ved å tilby byggeklossene. I 2000 lanserte Salesforce og eBay sitt eget API, som programmerere fikk tilgang til og laste ned noen av dataene som er tilgjengelige for publikum. Siden den gang har mange nettsteder tilbudt web -APIer for folk å få tilgang til sin offentlige database.

Teknikker

Webskraping er prosessen med å automatisk utvinne data eller samle informasjon fra World Wide Web. Det er et felt med aktiv utvikling som deler et felles mål med den semantiske webvisjonen, et ambisiøst initiativ som fortsatt krever gjennombrudd i tekstbehandling, semantisk forståelse, kunstig intelligens og interaksjoner mellom mennesker og datamaskiner . Gjeldende nettskrapeløsninger spenner fra ad-hoc, som krever menneskelig innsats, til helautomatiske systemer som er i stand til å konvertere hele nettsteder til strukturert informasjon, med begrensninger.

Menneskelig kopi-og-lim inn

Den enkleste formen for nettskraping er manuell kopiering og liming av data fra en webside til en tekstfil eller et regneark. Noen ganger kan ikke den beste web-skrapteknologien erstatte menneskelig manuell undersøkelse og kopiere og lime inn, og noen ganger kan dette være den eneste brukbare løsningen når nettstedene for skraping eksplisitt setter opp barrierer for å forhindre maskinautomatisering.

Tekstmønster matching

En enkel, men kraftig tilnærming for å trekke ut informasjon fra nettsider kan være basert på UNIX grep -kommandoen eller vanlige uttrykkstilpassende fasiliteter for programmeringsspråk (for eksempel Perl eller Python ).

HTTP -programmering

Statiske og dynamiske websider kan hentes ved å legge ut HTTP -forespørsler til den eksterne webserveren ved hjelp av socketprogrammering .

HTML -analyse

Mange nettsteder har store samlinger av sider generert dynamisk fra en underliggende strukturert kilde som en database. Data i samme kategori er vanligvis kodet til lignende sider med et vanlig skript eller en mal. I datamining kalles et program som oppdager slike maler i en bestemt informasjonskilde, trekker ut innholdet og oversetter det til en relasjonsform, en wrapper . Wrapper -genereringsalgoritmer antar at inndatasider i et wrapper -induksjonssystem samsvarer med en felles mal og at de lett kan identifiseres når det gjelder et felles URL -skjema. Videre kan noen semi-strukturerte datasøksspråk , for eksempel XQuery og HTQL, brukes til å analysere HTML-sider og for å hente og transformere sideinnhold.

DOM -analyse

Ved å bygge inn en fullverdig nettleser, for eksempel Internet Explorer eller Mozilla- nettleserkontrollen, kan programmer hente det dynamiske innholdet som genereres av skript på klientsiden. Disse nettleserkontrollene analyserer også nettsider i et DOM -tre, basert på hvilke programmer som kan hente deler av sidene. Språk som Xpath kan brukes til å analysere det resulterende DOM -treet.

Vertikal aggregering

Det er flere selskaper som har utviklet vertikale spesifikke høstplattformer. Disse plattformene oppretter og overvåker et mangfold av "bots" for spesifikke vertikaler uten "man in the loop" (ingen direkte menneskelig involvering), og ikke noe arbeid knyttet til et bestemt målsted. Forberedelsen innebærer å etablere kunnskapsgrunnlaget for hele vertikalen, og deretter oppretter plattformen bots automatisk. Plattformens robusthet måles av kvaliteten på informasjonen den henter (vanligvis antall felt) og dens skalerbarhet (hvor raskt den kan skalere opp til hundrevis eller tusenvis av nettsteder). Denne skalerbarheten brukes hovedsakelig til å målrette den lange halen på nettsteder som vanlige aggregatorer synes er kompliserte eller for arbeidskrevende å høste innhold fra.

Semantisk merknad som gjenkjenner

Sidene som blir skrapt, kan omfatte metadata eller semantiske markeringer og merknader, som kan brukes til å finne bestemte dataklipp. Hvis merknadene er innebygd på sidene, slik Microformat gjør, kan denne teknikken sees på som et spesielt tilfelle av DOM -analyse. I et annet tilfelle lagres og administreres merknadene, organisert i et semantisk lag, separat fra websidene, slik at skraperne kan hente dataskjema og instruksjoner fra dette laget før du skraper sidene.

Datasyn analyse av websider

Det er innsats ved hjelp av maskinlæring og datasyn som prøver å identifisere og trekke ut informasjon fra nettsider ved å tolke sider visuelt slik et menneske kan gjøre det.

Programvare

Det er mange programvareverktøy tilgjengelig som kan brukes til å tilpasse nettskrapeløsninger. Denne programvaren kan prøve å automatisk gjenkjenne datastrukturen på en side eller tilby et opptaksgrensesnitt som fjerner nødvendigheten av å skrive webskrapekode manuelt, eller noen skriptfunksjoner som kan brukes til å trekke ut og transformere innhold, og databasegrensesnitt som kan lagre de skrapede dataene i lokale databaser. Noen nettskrapeprogrammer kan også brukes til å trekke ut data fra et API direkte.

Juridiske problemer

Lovligheten av nettskraping varierer over hele verden. Generelt kan webskraping være i strid med vilkårene for bruk av noen nettsteder, men håndhevelsen av disse vilkårene er uklar.

forente stater

I USA kan nettstedseiere bruke tre store juridiske påstander for å forhindre uønsket webskraping: (1) brudd på opphavsretten (kompilering), (2) brudd på datafraud- og misbruksloven ("CFAA") og (3) overtredelse å chatte . Imidlertid er effektiviteten av disse påstandene avhengig av å oppfylle ulike kriterier, og rettspraksis er fortsatt i utvikling. For eksempel når det gjelder opphavsrett, mens direkte kopiering av originale uttrykk i mange tilfeller vil være ulovlig, i USA bestemte domstolene i Feist Publications v. Rural Telephone Service at duplisering av fakta er tillatt.

Amerikanske domstoler har erkjent at brukere av "skrapere" eller "roboter" kan holdes ansvarlige for å overføre overtredelse til løsøre , noe som innebærer at et datasystem i seg selv regnes som personlig eiendom som brukeren av en skraper overtrer. Den mest kjente av disse sakene, eBay v. Bidder's Edge , resulterte i et påbud som påla Bidder's Edge å stoppe tilgang, innsamling og indeksering av auksjoner fra eBay -nettstedet. Denne saken innebar automatisk plassering av bud, kjent som auksjonssniping . For å lykkes med et krav om overtredelse til løsøre , må saksøker imidlertid påvise at saksøkte forsettlig og uten autorisasjon forstyrret saksøkerens besittelsesinteresse i datasystemet og at saksøktes uautoriserte bruk forårsaket skade for saksøkeren. Ikke alle saker om web -behandling som er anlagt for domstolene, har blitt ansett som brudd på løsøre.

En av de første store testene for skjermskraping involverte American Airlines (AA), og et firma kalt FareChase. AA oppnådde et påbud fra en rettssak i Texas, og stoppet FareChase fra å selge programvare som gjør det mulig for brukere å sammenligne billettpriser hvis programvaren også søker på AAs nettsted. Flyselskapet argumenterte for at FareChases websøkeprogramvare overtrådte på AAs servere da det samlet inn offentlig tilgjengelige data. FareChase anket i mars 2003. I juni ble FareChase og AA enige om å gjøre opp og anken ble henlagt.

Southwest Airlines har også utfordret skjermskrapingspraksis, og har involvert både FareChase og et annet firma, Outtask, i et juridisk krav. Southwest Airlines anklaget at skjermskrapingen er ulovlig siden det er et eksempel på "Computer Fraud and Abuse" og har ført til "Damage and Loss" og "Uautorized Access" av Southwests nettsted. Det utgjør også "Interferens med forretningsforhold", "Trespass" og "Skadelig tilgang via datamaskin". De hevdet også at skjermskraping utgjør det som juridisk er kjent som "Misappropriation and Unjust Enrichment", i tillegg til at det er et brudd på nettstedets brukeravtale. Outtask benektet alle disse påstandene og hevdet at gjeldende lov, i dette tilfellet, bør være amerikansk opphavsrettslovgivning og at under opphavsrett vil informasjonen som blir skrapt ikke være underlagt opphavsrettsbeskyttelse. Selv om sakene aldri ble løst i Høyesterett i USA , ble FareChase til slutt lukket av morselskapet Yahoo! , og Outtask ble kjøpt av reisekostnadsselskapet Concur. I 2012 skrapte en oppstart kalt 3Taps klassifiserte boligannonser fra Craigslist. Craigslist sendte 3Taps et opphør-og-avstå-brev og blokkerte IP-adressene deres og saksøkte senere i Craigslist v. 3Taps . Retten mente at opphør-og-avstå-brevet og IP-blokkering var tilstrekkelig til at Craigslist kunne påstå at 3Taps hadde brutt databeskyttelses- og misbruksloven .

Selv om dette er tidlige avgjørelser om skraping, og teoriene om ansvar ikke er ensartede, er det vanskelig å ignorere et mønster som dukker opp om at domstolene er forberedt på å beskytte proprietært innhold på kommersielle nettsteder mot bruk som er uønsket for eierne av slike nettsteder. Imidlertid er graden av beskyttelse for slikt innhold ikke avgjort og vil avhenge av hvilken type tilgang skraperen gir, mengden informasjon som er tilgjengelig og kopiert, i hvilken grad tilgangen påvirker nettstedseiers system og typer og måte forbud mot slik oppførsel.

Selv om loven på dette området blir mer avgjort, bør enheter som vurderer å bruke skrapeprogrammer for å få tilgang til et offentlig nettsted, også vurdere om slik handling er autorisert ved å gå gjennom vilkårene for bruk og andre vilkår eller merknader som er lagt ut på eller gjort tilgjengelig via nettstedet. I en dom i 2010 i Cvent, Inc. v. Eventbrite, Inc. I USAs tingrett for det østlige distriktet i Virginia, bestemte retten at brukervilkårene skulle gjøres oppmerksom på brukerne For å kunne bla gjennom vikle kontrakt eller lisens som skal håndheves. I en sak fra 2014, som ble arkivert i USAs tingrett for Eastern District of Pennsylvania , protesterte e-handelsnettstedet QVC mot den Pinterest-lignende shoppingaggregatoren Resultlys 'skraping av QVCs nettsted for sanntids prisdata. QVC påstår at Resultatet "overdreven gjennomsøkte" QVCs detaljhandelsnettsted (angivelig sendte 200-300 søkeforespørsler til QVCs nettsted per minutt, noen ganger opptil 36 000 forespørsler per minutt), noe som førte til at QVCs nettsted krasjet i to dager, noe som resulterte i tap av salg for QVC . QVCs klage påstår at tiltalte forkledde webcrawler for å maskere kilde -IP -adressen og dermed forhindret QVC i å raskt reparere problemet. Dette er en spesielt interessant skrapesak fordi QVC søker erstatning for utilgjengeligheten av nettstedet deres, noe QVC hevder var forårsaket av Resultly.

På saksøkerens nettsted i løpet av denne prøveperioden vises koblingen for bruksvilkår blant alle koblingene til nettstedet, nederst på siden som de fleste nettstedene på internett. Denne kjennelsen motsier den irske kjennelsen beskrevet nedenfor. Retten avviste også saksøkerens argument om at restriksjoner for å bla gjennom var håndhevbare med tanke på Virginia's vedtakelse av Uniform Computer Information Transactions Act (UCITA)-en ensartet lov som mange mente var til fordel for vanlig surf-wrap-avtalepraksis.

I Facebook, Inc. v. Power Ventures, Inc. , bestemte en tingrett i 2012 at Power Ventures ikke kunne skrape Facebook -sider på vegne av en Facebook -bruker. Saken er anket, og Electronic Frontier Foundation la inn en brief i 2015 og ba om at den ble omgjort. I Associated Press v. Meltwater US Holdings, Inc. , holdt en domstol i USA ansvarlig for å skrape og publisere nyhetsinformasjon fra Associated Press, men en domstol i Storbritannia holdt til fordel for Meltwater.

Internet Archive samler og distribuerer et betydelig antall offentlig tilgjengelige nettsider uten å bli ansett for å bryte opphavsrettslovgivningen.

Den Europeiske Union

I februar 2006 bestemte den danske sjø- og handelsretten (København) at systematisk gjennomsøking, indeksering og dyp lenking av portalsiden ofir.dk til eiendomssiden Home.dk ikke er i strid med dansk lov eller databasedirektivet fra EU.

I en sak i februar 2010 komplisert av jurisdiksjonsspørsmål, avsa Irlands høyesterett en dom som illustrerer den vanskelige tilstanden til å utvikle rettspraksis. I tilfellet Ryanair Ltd mot Billigfluege.de GmbH bestemte Irlands høyesterett Ryanairs " click-wrap " -avtale som juridisk bindende. I motsetning til funnene fra USAs tingrett østlige distriktet i Virginia og de danske sjø- og handelsdomstolen, avgjorde dommer Michael Hanna at hyperkoblingen til Ryanairs vilkår og betingelser var tydelig synlig, og at det påhviler brukeren å godta vilkår og betingelser for å få tilgang til elektroniske tjenester er tilstrekkelig til å omfatte et kontraktsforhold. Avgjørelsen er anket i Irlands høyesterett.

30. april 2020 ga den franske databeskyttelsesmyndigheten (CNIL) ut nye retningslinjer for nettskraping. CNIL -retningslinjene gjorde det klart at offentlig tilgjengelige data fortsatt er personopplysninger og ikke kan brukes på nytt uten kjennskap til personen som dataene tilhører.

Australia

I Australia forbyr Spam Act 2003 noen former for netthøsting, selv om dette bare gjelder e -postadresser.

India

Etter å ha etterlatt noen få saker om krenkelse av IPR, har indiske domstoler ikke uttrykkelig avgjort lovligheten av nettskraping. Siden alle vanlige former for elektroniske kontrakter kan håndheves i India, vil imidlertid brudd på vilkårene for bruk som forbyr dataskraping være et brudd på kontraktsloven. Det vil også bryte informasjonsteknologiloven, 2000 , som straffer uautorisert tilgang til en datamaskinressurs eller ekstrahering av data fra en datamaskinressurs.

Metoder for å forhindre skraping på nettet

Administratoren av et nettsted kan bruke forskjellige tiltak for å stoppe eller bremse en bot. Noen teknikker inkluderer:

  • Blokkering av en IP -adresse enten manuelt eller basert på kriterier som geografisk plassering og DNSRBL . Dette vil også blokkere all surfing fra den adressen.
  • Deaktivering av en hvilken som helst webtjeneste -API som nettstedets system kan avsløre.
  • Bots noen ganger erklære hvem de er (ved hjelp av brukeragentene strenger ) og kan bli blokkert på det grunnlaget å bruke robots.txt ; ' googlebot ' er et eksempel. Andre roboter skiller ikke mellom seg selv og et menneske ved å bruke en nettleser.
  • Bots kan blokkeres ved å overvåke overflødig trafikk
  • Noen ganger kan roboter blokkeres med verktøy for å bekrefte at det er en ekte person som får tilgang til nettstedet, for eksempel en CAPTCHA . Noen ganger er roboter kodet for å eksplisitt bryte spesifikke CAPTCHA-mønstre eller kan bruke tredjepartstjenester som bruker menneskelig arbeidskraft til å lese og svare i sanntid på CAPTCHA-utfordringer.
  • Kommersielle anti-bot-tjenester: Selskaper tilbyr anti-bot og anti-skrapingstjenester for nettsteder. Noen få brannmurer for webapplikasjoner har også begrensede botdeteksjonsmuligheter. Imidlertid er mange slike løsninger lite effektive.
  • Finner roboter med en honningkrukke eller annen metode for å identifisere IP -adressene til automatiserte robotsøkeprogrammer.
  • Skjult bruk av CSS -sprites for å vise slike data som telefonnumre eller e -postadresser, på bekostning av tilgjengelighet for skjermleserbrukere .
  • Fordi roboter er avhengige av konsistens i front-end-koden til et målnettsted, vil det å legge til små variasjoner i HTML/CSS rundt viktige data og navigasjonselementer kreve mer menneskelig involvering i det første oppsettet av en bot, og hvis det gjøres effektivt, kan det gjøre målnettstedet er for vanskelig å skrape på grunn av redusert evne til å automatisere skrapeprosessen.
  • Nettsteder kan erklære om gjennomsøking er tillatt eller ikke i robots.txt -filen og tillate delvis tilgang, begrense gjennomsøkingsfrekvensen, angi optimal tid for gjennomsøking og mer.

Se også

Referanser