Datorită faptului că datele sunt cel mai valoros bun al unei companii în zilele noastre, ele ocupă o poziție centrală pentru aproape orice afacere, indiferent de domeniu. Fie că vorbim de motoare de căutare, platforme de entertainment, magazine ecommerce sau soluții fintech, acestea își centrează activitatea în jurul datelor și a modului în care pun datele la dispoziția clienților lor. În procesul de colectare a acestui volum mare de date, multe organizații folosesc operațiuni de tip web scraping pentru a extrage informații din surse terțe, precum sunt site-urile web. În cele mai multe dintre cazuri, informația deja existentă pe aceste site-uri web este deja formulată pentru utilizatorii finali. Agenții de extragere automată de informație sunt cele mai bune mijloace de transformare a informației lizibile de către utilizatori în structuri de date specifice ce pot fi procesate ulterior de sistemele interne înainte ca acestea să fie analizate în scopul cercetării sau comercializate în diverse forme, în mod direct sau indirect. Acest articol își propune să identifice unele dintre cele mai importante caractere legale și etice ale utilizării acestei tehnici pentru scopurile utilizate mai sus și să exploreze bunele practici folosite în ecositemul colectării unui volum mare de date. Această analiză nu are pretenția unei consilieri juridice oficiale. De aceea, pentru a vă asigura că proiectele voastre sunt conforme cu cerințele legale, solicitați servicii juridice profesioniste.
Odată cu adoptarea accelerată a tehnicii web scraping pentru a colecta date în vederea folosirii lor în cadrul serviciilor și a aplicațiilor, se constată că nu există niște termeni legali cu aplicabilitate globală în ceea ce privește utilizarea practică a acestora.
Totuși, există un set minim de recomandări cu aplicabilitate generală care s-au cristalizat de-a lungul timpului. De exemplu, într-un articol din 2011, un reprezentant business al Infochimps, o companie de vânzare de date achiziționată de CSC în 2013, menționează că sunt trei aspecte legale cheie ce ar trebui luate în considerare când se extrag date din surse terțe:
Copyright (drepturi de autor)
Terms of service (Termeni de utilizare)
Un citat sugestiv din articolul menționat anterior afirmă "Datele factuale și ideile nu sunt supuse dreptului de autor. Totuși, expresiile sau dispunerea/aranjamentul datelor pot fi supuse dreptului de autor." Primul lucru pe care companiile trebuie să îl asigure este că acestea colectează date factuale și nimic altceva.
Pe scurt, terms of service (ToS) reprezintă obligația legală dintre furnizorul de servicii (i.e. site-ul web) și consumator (i.e. utilizatorul / scraper) în ceea ce privește folosirea serviciilor furnizate (în cazul nostru, informația publicată pe site-ul web). În primul rând, această obligație legală este specifică fiecărui serviciu. Nu există ToS generale pentru toate site-urile web. Mai mult, în multe cazuri, ToS se poziționează într-o zonă gri de aplicabilitate din cauza volatilității lor, fără o notificare prealabilă, sau ca efect al lipsei de acord explicit din partea utilizatorului (i.e. stipularea că utilizarea continuă a serviciului presupune automat acordul tacit al utilizatorului în raport cu ToS). De aceea, agenții de extragere de date ar trebui să trateze fiecare sursă separat pe baza propriilor ToS.
În timp ce "copyright" și "terms of service" sunt termeni utilizați frecvent, fiind foarte cunoscuți în inginerie (software), "trespass to chattels" este un termen mai puțin frecvent, fiind împrumutat din cele șapte tipuri internaționale de responsabilități delictuale (infracțiuni). Se referă la interferența intenționată în bunurile sau proprietatea unei alte persoane. Când vine vorba de web scraping, un DoS (Denial of Service) cauzat de un crawler / scraper ce pune o încărcătură mare pe site-ul web sau facilitează accesul neautorizat la informație privată sunt două situații ce pot fi catalogate drept "trespass to chattels".
Deși cele trei aspecte menționate mai sus stabilesc o bază de reglementare pentru o bună parte din conținutul actual de pe internet, când vine vorba de web scraping, trebuie reținut că aceste recomandări sunt specifice pentru SUA. Aceste recomandări sunt susceptibile la schimbare, în funcție de jurisdicția statului respectiv. Mai mult, în funcție de jurisdicție și de judecătorie, istoric vorbind, deciziile au fost în favoarea sau împotriva autorilor acestor practici. De exemplu, în timp ce instanța de stat din Texas a dat dreptate reclamantului, American Airlines, în procesul împotriva FareChase, un site web de comparare a tarifelor care a preluat prețurile de pe site-ul web al AA, Curtea Comercială și Maritimă Daneză din Copenhaga nu a dat câștig de cauză către home.dk într-un proces împotriva ofir.dk, constatând că practicile de extragere de date ale pârâtului, ofir.dk, din site-ul web al reclamantului, home.dk, nu intră în conflict cu legea daneză sau cu directivele UE legate de bazele de date.
O serie de completări și variațiuni legale construite pe această bază, precum GDPR sau CNIL, vor fi menționate în secțiunea "Studii de caz".
Pe lângă aspectele legale menționate anterior, acest articol de specialitate are în vizor problemele etice ce pot apărea în timpul operațiunilor de crawling și/sau scraping a site-urilor web externe. Deși prezentate din punct de vedere academic, următoarele se aplică produselor ce au scopuri comerciale. Posibilele consecințe nocive ale operațiunilor web scraping pot fi:
Aspecte private individuale (Individual Privacy);
Aspecte private organizaționale și secrete comerciale (Organizational Privacy and Trade Secrets);
Deoarece este o provocare să stabilim o delimitare clară între lege și etică, legea derivând de multe ori din/ sau susținând anumite principii etice, autorul sugerează o varietate de întrebări ce trebuie adresate pentru a face un proiect de web scraping legal și etic:
Sunt Web Crawling sau Web Scraping explicit interzise de termenii de utilizare ai unui site web?
Sunt datele de pe un site web explicit supuse drepturilor de autor?
Implică proiectul utilizarea ilegală sau frauduloasă a datelor?
Pot operațiunile de crawling și scraping să producă daune materiale site-ului web sau serverului web ce găzduiește site-ul web?
Pot datele obținute de pe site-ul web să compromită aspectele private individuale?
Pot datele obținute de pe site-ul web să dezvăluie informații confidențiale despre operațiunile organizațiilor ce furnizează datele sau despre compania ce deține site-urile web?
Site-uri guvernamentale - misiunea lor este de a oferi transparență oamenilor care le accesează, deci nu ar trebui să existe consecințe legale dacă se extrage informație din aceste portaluri. Această informație se bazează pe faptul că gestiunea informației guvernamentale urmează proceduri stricte de clasificare. Prin urmare, informația neclasificată este publică. Dacă, totuși, hackingul s-a realizat pentru a accesa informația, care altfel nu ar fi accesibilă din perspectiva utilizatorilor obișnuiți, acest lucru nu ar fi etic și ar avea consecințe legale grave.
Motoare de căutare (Google, Bing etc.) - acestea respectă Robots Exclusion Protocol, o metodă (încă) nestandardizată prin intermediul căreia webmasters își exprimă preferința pentru limitarea sau împiedicarea acestor motoare de la a face crawling (& scraping) pe pagini. Nu ne propunem să explicăm acest protocol, dar mai multe informații despre fișierul robots.txt se pot găsi pe pagina oficială a protocolului. De asemenea, în cadrul documentelor de referință de la Google se explică robots meta tags / definitions headers.
Operațiunile de scraping public a datelor de pe LinkedIn sunt [la momentul scrierii acestui articol] legale - potrivit Curții de Apel SUA care a respins solicitarea LinkedIn de a preveni hiQ să efectueze operațiuni de scraping a datelor sale în 2019. Mai multe detalii despre petiția LinkedIn adresată Curții Supreme în 2020 și despre punctul de vedere al hiQ puteți găsi în acest articol.
Din perspectiva unui data scientist (vedeți articolul lui Tom Waterman, Data Scientist @ Facebook), putem aminti câteva puncte cheie:
Datele supuse legii copyright nu se pot replica pe alte site-uri web dacă ele au fost extrase direct din sursele lor.
Operațiunile de scraping conform regulilor GDPR necesită mai multă atenție decât înainte. În acest blog post, sunt menționate punctele de vedere ale directorului departamentului juridic la o companie de scraping de top, ScrapingHub. Pe scurt, companiile trebuie să evalueze dacă prin scraping accesează date personale și dacă aceste date aparțin cetățenilor UE. Dacă se efectuează operațiuni de scraping, acțiunile trebuie motivate legal. Chiar și în aceste condiții, scraping-ul ar trebui efectuat conform unor reguli stricte.
Operațiunile de scraping din surse cu origini în Franța sunt mai complicate odată cu implementarea recomandărilor CNIL din aprilie 2020. Așa cum se poate observa în acest articol, Franța este una dintre primele țări care a supus web scraping regulilor. Noile reguli sunt în acord cu regulile GDPR din UE, iar, potrivit articolului, companiile care fac web scraping "trebuie să furnizeze următoarele informații tuturor celor cărora le colectează datele:
Scopul datelor;
Numărul utilizatorilor care au acces la date;
Dacă acordul este valid pentru a face operațiuni de data scraping din alte site-uri web sau aplicații;
Cu toate aceste principii de respectat și toate specificațiile diverselor jurisdicții și surse de date, nu este evident pentru echipele de data engineering cum se poate începe un astfel de proiect cu încrederea că regulile vor fi respectate și că obiectivele lor de business vor fi atinse.
Finddatalab este o companie de consultanță web scraping creată de o echipă de data scientists. Pe baza celor 10+ ani de experiență, au realizat o listă de recomandări de nivel înalt cu explicații aferente menite să ne asigure cum putem face web scraping legal și etic. ScrapingHub oferă acest set de recomandări sub o formă diferită. Iată câteva idei din listă:
Asigurați-vă că scopul operațiunilor web scraping este legal.
Asigurați-vă că veți obține informații disponibile public.
Verificați dacă legea copyright protejează conținutul.
Setați o rată optimă de web scraping.
Configurați pentru web scrapers o cale similară cu a unui motor de căutare (respectați fișierul robots.txt)
Mai mult, în acest articol de pe towardsdatascience.com, J. Densmore menționează câteva elemente adiționale ce acoperă cu precădere aspectul etic:
Prioritizați utilizarea API-urilor publice, când acestea sunt disponibile, în loc să faceți scraping de date.
Obțineți doar informația necesară și nimic mai mult.
Finalmente, ScraperHero, o altă companie de date, vine cu o serie de recomandări tehnice detaliate despre cum se poate evita blocarea de către site-urile web pe parcursul operațiunii de web scraping.
Acum că bunele practici ale industriei au fost introduse, unul dintre diferențiatorii cheie pentru companii este volumul datelor. Pentru a colecta mai multe date, acest proces meticulos trebuie scalat.
Când vine vorba de proiecte de achiziții de date în cadrul companiilor mari de date, dezvoltarea de agenți pentru data scraping automat poate să devină ușor cauza întârzierilor, atât din punct de vedere ale nevoilor arhitecturii de flux de date (data pipeline), cât și din cauza numărului de ingineri nevoiți să dezvolte, să testeze și să mențină fiecare web scraper. S-a descoperit că, din cauza modificărilor formatului site-urilor web, website scrapers au nevoie de o rescriere completă cam la fiecare trei ani. De asemenea, efortul necesar pentru gestiunea ciclului de viață a acestor agenți impune o creștere lineară a numărului de ingineri ce lucrează cu acești agenți, ceea ce în multe cazuri nu este fezabil.
Acest blog post scris de ScrapingHub acoperă aspectele ce trebuie luate în calcul când vrem să scalăm un astfel de sistem. Prima problemă care trebuie rezolvată este natura mereu schimbătoare a formatului site-urilor web. Acest lucru se poate rezolva generalizând extracția datelor în loc de a avea scrapers granulari pentru fiecare sursă de date. Acest lucru va permite un flux accelerat de ingestie a datelor care are nevoie de o arhitectură scalabilă. Dar aceasta nu e tot. Colectarea datelor ar trebui optimizată asigurându-ne că doar informația necesară este extrasă (de exemplu, evitând încărcarea fluxului de date cu date bloatware precum imagini, resurse auxiliare, reclame și comentariile din partea de jos a articolelor). Nu în ultimul rând, pentru a face mai rapid procesul de asigurare a calității (i.e. testarea și mentenanța agenților de extragere de date), ar trebui făcută o schimbare spre un proces proactiv, nu reactiv, automatizând validarea datelor, detecția anomaliilor și a inconsistențelor. De exemplu, în locul acțiunilor repetitive, inginerii ar trebui stimulați să monitorizeze inconsistențele identificate automat și să aibă un mecanism integrat de a le rezolva cu efort minim.
Deși nu există limite legale clare când vine vorba de web scraping, având în vedere numeroasele variațiuni și interpretări ale legii în funcție de jurisdicție, deținem suficiente informații pentru a concluziona că există recomandări și practici comune în industrie ce pot fi luate în calcul când abordăm problema colectării de date sub aspect etic și legal. Odată conștientizate și asumate de practicile aferente domeniului ingineriei de date, scalarea lor nu presupune în mod necesar scalarea unei organizații, ci schimbarea perspectivei spre o manieră automată și inteligentă de gestionare a complexității inerente acestor provocări și eforturi.
[1] A. Watters, What It Takes To Find, Scrape And Sell Big Data
[4] V. Krotov, L. Silva, Legality and Ethics of Web Scraping, Twenty-fourth Americas Conference on Information Systems, 2018
[5] About /robots.txt, The Web Robots Pages / robotstxt.org
[6] Robots meta tag, data-nosnippet, and X-Robots-Tag specifications, Google Search Developers Referenc
[8] T. Waterman, Web scraping is now legal, Medium, 2020
[9] I. Kerins, GDPR COMPLIANCE FOR WEB SCRAPERS: THE STEP-BY-STEP GUIDE, The ScrapingHub Blog, 2018
[10] FindDataLab.com, Can You Still Perform Web Scraping With The New CNIL Guidelines?, Medium, 2020
[11] Legal Web Scraping for Legal Purposes, FindDataLab
[12] The Web Scraping Best Practices Guide, ScrapingHub
[13] J. Densmore, Ethics in Web Scraping, towards data science, 2017
[14] How to scrape websites without getting blocked, ScraperHero