Portia Alternative pentru extragerea datelor web

Publicat: 2019-07-15
Cuprins arată
Care sunt avantajele scraperelor web vizuale?
În ce zone sunt scurte răzuitoarele vizuale?
Ce alte alternative mai avem?
Furnizorii DaaS vs echipa internă?
Concluzie

Portia era un instrument vizual care permitea utilizatorilor să acceseze cu crawlere site-urile web fără să aibă cunoștințe de programare. A fost un serviciu găzduit, dar din cauza utilizării în scădere a racletelor vizuale, a fost eliminat și nu mai este utilizat astăzi. Deci, cum au folosit oamenii Portia când a existat? Pentru a utiliza Portia, ar trebui să introduceți modelul de adrese URL care trebuie vizitate și apoi să selectați elemente din acele pagini web cu gesturi de punctare și clic sau folosind CSS sau XPath. În ciuda faptului că este ușor de utilizat, cele mai mari probleme cu Portia au fost următoarele:

  • A fost un instrument consumator de timp pentru a obține controlul asupra acestuia, în comparație cu alte instrumente de scraping web cu sursă deschisă.
  • Navigarea pe site-uri web a fost dificil de gestionat.
  • Trebuia să menționați paginile țintă când ați început să accesați cu crawlere pentru a împiedica Portia să viziteze adrese URL inutile.
  • Nu a existat nicio modalitate de a conecta o bază de date pentru a salva punctele de date răzuite.

Care sunt avantajele scraperelor web vizuale?

Când aveți o cerință unică de scraping web, puteți utiliza un web scraper vizual, dar folosirea acestuia ca parte a unui flux de lucru de afaceri nu este recomandată. În cazul în care conduceți o afacere în care trebuie să accesați cu crawlere date de pe foarte puține pagini web statice și prea ocazional (să zicem o dată pe lună), puteți obține pe cineva din echipa dvs. care știe ce date trebuie să fie analizate pentru a înțelege funcționarea unui răzuitor web vizual în câteva ore și apoi extragerea datelor web din când în când. Crawlerele web vizuale sunt utile în special pentru întreprinderile mici care nu au o echipă de tehnologie și au cerințe minime de scraping.

Un crawler web vizual este aproape la fel ca cineva care dă clic pe „inspectați elemente” pe o pagină web și copie-lipește date din conținutul HTML. În schimb, atunci când utilizați un răzuitor web vizual, ajungeți să faceți clic pe o parte a paginii web și software-ul vă copiază datele într-o locație pe care o alegeți.

Portia Alternative

În ce zone sunt scurte răzuitoarele vizuale?

Cu toate acestea, răzuitoarele vizuale sunt insuficiente atunci când aveți ceva greu de făcut.

S-ar putea să fie necesar să includeți eliminarea unor date ca parte a fluxului de lucru al afacerii (care ar trebui să fie automatizată).
Este posibil ca datele să fie răzuite pe sute sau mii de pagini și ar putea fi necesar să fie reîmprospătate foarte frecvent.

Ar putea fi nevoie de un flux live de date răzuite pentru un anumit modul de afaceri. În cele mai multe dintre cazurile de mai sus, un scraper web bazat pe cod ar fi mult mai util decât un scraper vizual.

Majoritatea proiectelor de scraping în masă găsesc nevoia de a accesa cu crawlere o mulțime de pagini web similare la date de extragere a datelor web despre diferite articole. Aceste articole pot varia de la informații despre zboruri pe site-urile web de rezervare electronică la detalii despre produse de pe site-urile de comerț electronic. Logica aplicată în astfel de scenarii este că încercați să înțelegeți modelul în care datele sunt stocate în paginile web folosind câteva pagini web și să utilizați un cod care nu poate accesa numai cu crawlere pagini cu exact aceeași structură, ci chiar și pagini cu o structură similară. . De asemenea, în timp ce răzuiți toate paginile disponibile pe un site web, paginile cu o anumită structură ar putea trebui ignorate. Toate aceste personalizări nu sunt posibile pe un scraper vizual și, prin urmare, răzuirea prea multor pagini folosind un scraper vizual nu este recomandată.

Pe de altă parte a spectrului, din cauza schimbărilor în aspectul site-urilor web la fiecare câteva săptămâni sau luni, s-ar putea să fie nevoie să-ți antrenezi scraperul web vizual de fiecare dată când se modifică interfața de utilizator a unui site web. Pe de altă parte, atunci când utilizați un scraper bazat pe cod, de multe ori o modificare a interfeței de utilizator poate să nu necesite nicio modificare în scraper, deoarece site-ul web poate rămâne în continuare același din punct de vedere structural. Chiar dacă există unele modificări în interfața cu utilizatorul care pot necesita o schimbare a scraper-ului, modificările sunt de obicei minime și ajustarea scraper-ului la modificări este destul de simplă.

Ce alte alternative mai avem?

Există multe alternative la Portia. Limbi precum Python, R și Golang sunt folosite de dezvoltatori și echipe de web scraping din întreaga lume pentru extragerea datelor web din pagini web. Sunt dezvoltate noi moduri pentru a accelera procesul. De exemplu, cu ajutorul programării paralele și al memorării în cache în Golang, folosind pachetul numit Colly, puteți utiliza setări personalizate precum următoarele:

  1. Numărul de pagini pe care doriți să le accesați cu crawlere simultan la un moment dat.
  2. Adâncimea maximă ar trebui să ajungă răzuitorul odată ce începe să răzuiască dintr-o pagină web. (Ceea ce înseamnă aceasta este că, dacă setați adâncimea maximă la 3, va accesa cu crawlere pagina de sus, va merge la o adresă URL găsită în ea, o va accesa cu crawlere, apoi va merge la o adresă URL găsită în pagina respectivă și va accesa cu crawlere și aceasta, dar acum în a treia pagină, dacă găsește o adresă URL, nu va merge mai departe).
  3. Puteți seta o verificare pentru cuvintele prezente în adrese URL - adică dacă un cuvânt este prezent într-o adresă URL, atunci pagina web din acea adresă URL trebuie să fie eliminată. Sau puteți seta excluderi - URL-urile cu un anumit cuvânt, nu ar trebui să fie accesate de scraper.

Acestea sunt doar câteva dintre exemplele sutelor de funcționalități minuscule pe care le obțineți atunci când construiți singur un web scraper.

Furnizorii DaaS vs echipa internă?

Majoritatea companiilor cărora le lipsește o echipă tehnologică, sau chiar membri fără o înțelegere de bază a vreunui limbaj de scripting, ar trebui să încerce să nu înceapă să construiască o echipă de scraping internă. Motivul din spatele acestui lucru este simplu. Banii pe care îi cheltuiți pentru a recruta dezvoltatori și apoi a-i determina să construiască și să întrețină un sistem complet nou de web scraping pentru nevoile dvs. de afaceri ar fi masivi. Și, la sfârșitul zilei, dacă sunteți o companie mică, iar web scraping nu este combustibilul pentru afacerea dvs. (adică afacerea dvs. nu este centrată pe datele pe care le accesați cu crawlere de pe web), atunci nu are sens să construiți un echipa internă.

Soluția simplă, în acest caz, sunt furnizorii DaaS care vă preiau cerințele și vă oferă datele într-un format la alegere. Echipa noastră de la PromptCloud se mândrește cu reducerea web scraping la un proces în doi pași pentru afaceri și întreprinderi.

Concluzie

În timp ce instrumentele vizuale sunt bune pentru echipele de afaceri, putem fi de acord că web scraping nu este doar o simplă sarcină de afaceri. Este o sarcină care trebuie să fie eficientă, rapidă și complet personalizabilă. Dacă aveți cerințe de scraping web de volum mare sau doriți să extrageți date web la o scară mult mai mare, este recomandat să utilizați serviciile de web scraping.

Dacă nu sunteți expert în programare sau cerințele dvs. sunt complexe, puteți utiliza un furnizor de servicii complet gestionat, cum ar fi PromptCloud, pentru a obține date curate într-o manieră automată, fără probleme tehnice sau fără a învăța vreun instrument.