Răzuire web

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Web scraping (numit și recoltare web sau extragere date web ) este o tehnică computerizată pentru extragerea datelor de pe un site web prin intermediul unor programe software . De obicei, astfel de programe simulează navigarea umană pe World Wide Web utilizând Protocolul de transfer hipertext (HTTP) sau prin browsere , cum ar fi Internet Explorer sau Mozilla Firefox .

Strâns legată de indexarea site-urilor de internet , această tehnică este implementată prin utilizarea roboților de către majoritatea motoarelor de căutare . Pe de altă parte, web scraping se concentrează mai mult pe transformarea datelor nestructurate de pe net, de obicei în format HTML , în metadate care pot fi stocate și analizate local într-o bază de date . Recoltarea web este, de asemenea, similară cu automatizarea web , care constă în simularea navigării umane pe net prin utilizarea de software de calculator .

Există metode utilizate de unele site-uri web pentru a preveni răzuirea web , cum ar fi detectarea și prevenirea roboților de la vizualizarea paginilor lor. Pentru a rezolva această problemă, există sisteme de răzuire web care se bazează pe tehnici precum analiza DOM , Vision computerizată și procesarea limbajului natural pentru a simula navigarea pe web umană. Datorită acestor tehnici este posibil să colectați conținutul paginilor web pentru analize offline. [1] Poate fi folosit pentru a compara prețurile online, pentru a monitoriza datele meteo, pentru a detecta modificările pe un site web, în cercetarea științifică , pentru mashup- ul web și integrarea datelor web .

Tehnici

După cum sa menționat deja, web scraping este procesul prin care datele sunt extrase sau colectate pe World Wide Web și, odată obținute aceste date, pot fi utilizate în diverse scopuri. Tehnicile pe care le putem folosi vor depinde de mijloacele și resursele de care dispunem. Începe cu așa-numitele soluții „ad-hoc”, care necesită intervenția umană pentru a selecta informații utile, până la sisteme complet automatizate, care prin învățarea automată scutesc utilizatorul de anumite sarcini.

Copiați și lipiți manual

Nici măcar cea mai bună tehnică de răzuire web nu poate înlocui uneori examinarea ochiului uman și copierea și lipirea manuală. În unele cazuri, aceasta este singura soluție posibilă, deoarece unele pagini web împiedică colectarea automată a datelor.

Răzuitor web

Există diverse programe și instrumente care sunt capabile să recunoască automat structura unei pagini web, fără a necesita intervenția umană pentru a extrage datele. Unele dintre aceste programe sunt capabile să extragă informații direct din API .

Analiza HTML

Multe site-uri web constau din pagini web generate automat. Sursa din care derivă aceste pagini sunt în mare parte baze de date mari. Datele din categorii similare sunt organizate în pagini sau șabloane comune, pentru a fi găsite mai ușor. Software-ul care permite extragerea datelor de același tip prin detectarea șabloanelor se numește împachetări .

Analiza cu viziune computerizată

Folosind o combinație de învățare automată și viziune computerizată , sunt dezvoltate tehnici care permit analizarea și extragerea datelor din paginile web, urmând modele similare. Apoi vor simula comportamentul unui utilizator real. În acest fel, munca necesară software-ului de răzuire web va fi redusă și vor fi obținute informații mai relevante.

Analiza DOM

Pentru a modifica sau inspecta o pagină web, sunt analizate scripturile din partea clientului, care vor fi organizate ulterior într-un arbore DOM . DOM este utilizat în principal pentru a extrage informații din documente cu o structură nestandardizată, adică unde elementele sunt găsite aleatoriu

În cele din urmă (printr-un browser web complet) va fi posibilă interogarea și preluarea informațiilor din copac.

Recunoașterea adnotării semantice

Majoritatea paginilor web au adnotări semantice (sau marcaje) și metadate care pot fi recuperate cu ușurință și utilizate pentru a găsi anumite date. Acesta ar putea fi un caz simplu de analiză DOM dacă metadatele sunt încorporate numai în pagina web. În caz contrar, adnotările organizate în diferite niveluri sunt stocate și gestionate separat de paginile web, astfel încât răzuitorii să poată prelua instrucțiunile și datele de la acest nivel înainte de a răsfoi paginile.

Agregare verticală

Există mai multe companii care au dezvoltat platforme verticale specifice pentru colectare. Acestea creează și monitorizează o multitudine de roboți pentru anumite verticale, fără „om în buclă” (fără implicare umană directă) și fără muncă specifică site-ului. Robustețea platformei este măsurată de calitatea informațiilor pe care le recuperează (numărul de câmpuri) și de scalabilitatea acesteia (cât de repede poate scala de la sute la mii de site-uri). Această scalabilitate este utilizată de cele mai multe ori pentru a aborda coada lungă a site-urilor pe care agregatorii obișnuiți le consideră greoaie sau prea greoaie pentru a aduna conținut.

Potrivirea modelului de text

Abordare simplă, dar eficientă pentru extragerea informațiilor din paginile web. Poate fi folosit prin comanda liniei de comandă "grep" pe sistemele UNIX sau prin funcțiile comune de potrivire a expresiei limbajelor de programare (de exemplu, Perl sau Python ).

Economia scraping-ului web

Web scraping este o tehnică care permite extragerea informațiilor de pe site-uri web; de multe ori include transformarea datelor nestructurate din pagini web în baze de date pentru analiza sau reutilizarea conținutului. Reutilizarea poate fi exploatată pe site-ul web unde am găsit informațiile sau pentru operațiuni comerciale. În majoritatea cazurilor, roboții , care reprezintă 46% din traficul web, sunt implementați de indivizi pentru a efectua răzuirea web la o rată mult mai rapidă decât ar putea avea oamenii vreodată.

Prin analiza principalelor platforme și servicii de scraping web, Distil Networks a evidențiat modul în care democratizarea web scraping permite utilizatorilor să fure informații sensibile pe web fără probleme.

„Dacă conținutul dvs. poate fi vizualizat pe web, acesta poate fi răzuit” (original: „Dacă conținutul dvs. poate fi vizualizat pe web, acesta poate fi răzuit” ) [2]

38% dintre companiile dedicate răzuirii web o fac pentru a obține conținut. Deoarece datorită cantității de date care pot fi obținute cu ușurință, este posibil să se efectueze o gamă largă de operațiuni, cum ar fi compararea prețurilor, monitorizarea datelor meteorologice și diverse căutări. Serviciile de răzuire web costă doar 3,33 USD pe oră. În medie, un proiect de răzuire web costă în jur de 135 USD. Răzuitorul mediu web câștigă 58.000 de dolari pe an, în timp ce lucrează într-o companie medie spre mare specializată în răzuirea web, poate câștiga până la 128.000 de dolari pe an. [3]

Metode de prevenire a răzuirii web

Un administrator de site web poate folosi diverse metode pentru a încetini sau a opri un bot. Unele dintre acestea sunt:

  • Blocarea manuală a unei adrese IP sau pe baza unor criterii precum geolocalizarea și DNSBL . Aceasta va bloca, de asemenea, toată navigarea de la adresa respectivă.
  • Dezactivați orice API de serviciu web pe care site-ul îl poate expune riscului.
  • Utilizați standardul de excludere a roboților ( Googlebot este un exemplu) pentru a bloca roboții care își declară identitatea (uneori fac acest lucru folosind șiruri de agenți de utilizator ). Roboții care nu își declară identitatea nu le permit să se distingă de o ființă umană.
  • Monitorizarea excesului de trafic poate ajuta la blocarea unor roboți.
  • Utilizați instrumente precum CAPTCHA care vă permit să verificați dacă a fost o persoană reală care a accesat un site web. Dacă acest lucru nu ar fi adevărat, ar fi deci un bot și CAPTCHA l-ar bloca. Dar, uneori, roboții sunt codificați în așa fel încât să blocheze CAPTCHA-urile sau să utilizeze servicii de la terțe părți care stimulează munca umană pentru a citi și a răspunde provocărilor CAPTCHA în timp real.
  • Utilizați servicii comerciale anti-bot: companiile oferă site-uri web servicii anti-bot și anti-răzuire.
  • Descoperiți roboții prin honeypots sau o altă metodă de identificare a adreselor IP automate cu crawler .
  • Adăugați mici variante de HTML / CSS pentru a înconjura date importante și elemente de navigare. Pentru a face acest lucru, va fi nevoie de mai multă implicare umană pentru configurația inițială a unui bot, acest lucru se datorează faptului că se bazează pe consistența codului front-end al site-ului țintă. Dacă se face corect, site-ul țintă ar putea face prea dificil de „răzuit” datorită capacității reduse de a automatiza procesul de răzuire web.

Software

Acestea sunt câteva dintre software-urile sau instrumentele disponibile pentru personalizarea soluțiilor de răzuire web:

  • cURL - instrument de linie de comandă sau bibliotecă pentru transferul și recuperarea datelor prin URL
  • Firebug - extensie de browser care vă permite să depanați, să editați și să monitorizați o pagină web
  • Greasemonkey - extensie de browser care permite editarea site-ului web prin intermediul unor scripturi
  • HTTrack - crawler web open-source și gratuit
  • iMacros - extensie de browser web care adaugă funcții de înregistrare și redare
  • Node.js - mediu open-source, multiplataforma, pentru executarea de către server a codului JavaScript
  • Wget - manager de descărcare care acceptă HTTP, HTTPS și FTP

Notă

  1. ^ (EN) Web Scraping (pe webopedia.com) , pe webopedia.com. Adus la 17 decembrie 2012 ( arhivat la 17 decembrie 2012) .
  2. ^ Rami Essaid, CEO Distil Networks, Ubiquity and danger: The web scraping economy , la helpnetsecurity.com .
  3. ^ (EN) Ubiquity and danger: The web scraping economy - Help Net Security , în Help Net Security, 31 august 2016. Accesat la 28 decembrie 2017.

Bibliografie

  • (EN) Schrenk, Michael, webbots, Spiders, and Screen Scrapers, San Francisco, No Starch Press, 2007, pp. 306. ISBN 9781593271206
  • ( EN ) Turland, Matthew, PHP-Architect's Guide to Web Scraping , North York, Marco Tabini & Associates, 2010, pp. 192. ISBN 9780981034515

Elemente conexe

linkuri externe