Alternative a Portia per l'estrazione di dati Web

Pubblicato: 2019-07-15
Mostra il sommario
Quali sono i vantaggi degli scraper web visivi?
In quali aree gli scraper web visivi non sono all'altezza?
Quali altre alternative abbiamo?
Provider DaaS vs team interno?
Conclusione

Portia era uno strumento visivo che consentiva agli utenti di eseguire la scansione di siti Web senza avere alcuna conoscenza di programmazione. Era un servizio ospitato ma a causa dell'utilizzo in diminuzione dei raschiatori visivi, è stato rimosso e non è più in uso oggi. Quindi, come facevano le persone a usare Portia quando esisteva? Per utilizzare Portia, dovresti inserire il modello di URL che devono essere visitati, quindi selezionare gli elementi in quelle pagine Web con gesti punta e clicca o utilizzando CSS o XPath. Nonostante sia facile da usare, i maggiori problemi con Portia sono stati i seguenti:

  • Era uno strumento dispendioso in termini di tempo per ottenere il controllo rispetto ad altri strumenti di scraping web open source.
  • La navigazione nei siti Web era difficile da gestire.
  • Dovevi menzionare le pagine di destinazione quando hai iniziato a eseguire la scansione per impedire a Portia di visitare URL non necessari.
  • Non c'era modo di collegare un database per salvare i punti dati raschiati.

Quali sono i vantaggi degli scraper web visivi?

Quando hai un requisito di scraping web una tantum, puoi utilizzare un web scraper visivo, ma non è consigliabile utilizzarlo come parte di un flusso di lavoro aziendale. Nel caso in cui tu stia gestendo un'azienda in cui devi eseguire la scansione dei dati da pochissime pagine Web statiche, e anche questo molto occasionalmente (diciamo una volta al mese), puoi ottenere qualcuno nel tuo team che sappia quali dati devono essere raschiati per capire il funzionamento di un web scraper visivo nel giro di poche ore e quindi estrazione di dati web di volta in volta. I web crawler visivi sono particolarmente utili per le piccole imprese che non dispongono di un team tecnico e hanno requisiti minimi di scraping.

Un web crawler visivo è quasi lo stesso di qualcuno che fa clic su "ispeziona elementi" su una pagina web e copia e incolla i dati dal contenuto HTML. Invece, quando usi un web scraper visivo, finisci per fare clic su una parte della pagina web e il software copia i dati per te in una posizione a tua scelta.

Alternative a Portia

In quali aree gli scraper web visivi non sono all'altezza?

I raschietti visivi, tuttavia, non sono all'altezza quando hai un serio lavoro pesante da fare.

Potrebbe essere necessario includere lo scraping di alcuni dati come parte del flusso di lavoro aziendale (che dovrebbe essere automatizzato).
Potrebbe essere necessario eseguire lo scraping dei dati su centinaia o migliaia di pagine e potrebbe essere necessario aggiornarli molto frequentemente.

Potrebbe essere necessario un feed live di dati raschiati per un particolare modulo aziendale. Nella maggior parte dei casi precedenti, un web scraper basato su codice sarebbe molto più utile di un visual scraper.

La maggior parte dei progetti di scraping di massa trova la necessità di eseguire la scansione di un sacco di pagine Web simili ai dati di estrazione di dati Web su elementi diversi. Questi articoli possono variare dalle informazioni sui voli sui siti Web di prenotazione elettronica ai dettagli sui prodotti sui siti Web di e-commerce. La logica applicata in tali scenari è che si tenta di comprendere lo schema in cui i dati vengono archiviati nelle pagine Web utilizzando poche pagine Web e utilizzare un codice che può non solo eseguire la scansione di pagine con la stessa identica struttura ma anche pagine con una struttura simile . Inoltre, durante lo scraping di tutte le pagine disponibili su un sito Web, potrebbe essere necessario ignorare le pagine con una determinata struttura. Tutte queste personalizzazioni non sono possibili su un raschietto visivo e quindi non è consigliabile raschiare troppe pagine utilizzando un raschietto visivo.

D'altra parte, a causa dei cambiamenti nell'aspetto dei siti Web ogni poche settimane o mesi, potrebbe essere necessario addestrare il tuo raschietto web visivo ogni volta che l'interfaccia utente di un sito Web cambia. D'altra parte, quando si utilizza uno scraper basato su codice, spesso una modifica dell'interfaccia utente potrebbe non richiedere nemmeno alcuna modifica allo scraper poiché il sito Web potrebbe rimanere strutturalmente lo stesso. Anche se ci sono alcune modifiche nell'interfaccia utente che potrebbero richiedere una modifica nello scraper, le modifiche sono generalmente minime e adattare lo scraper alle modifiche è abbastanza semplice.

Quali altre alternative abbiamo?

Esistono molte alternative a Portia. Linguaggi come Python, R e Golang vengono utilizzati da sviluppatori e team di web scraping in tutto il mondo per l'estrazione di dati web dalle pagine web. Nuovi modi sono in fase di sviluppo per rendere il processo più veloce. Ad esempio, con l'aiuto della programmazione parallela e della memorizzazione nella cache in Golang, utilizzando il pacchetto chiamato Colly, è possibile utilizzare impostazioni personalizzate come le seguenti:

  1. Il numero di pagine di cui eseguire la scansione simultanea in un dato momento.
  2. Profondità massima che il raschietto dovrebbe raggiungere una volta che inizia a raschiare da una pagina web. (Ciò significa che, se imposti la profondità massima su 3, eseguirà la scansione della pagina principale, andrà a un URL trovato al suo interno, la scansionerà, quindi andrà a un URL trovato in quella pagina ed eseguirà la scansione anche di quella, ma ora nella terza pagina se trova un URL, non andrà oltre).
  3. Puoi impostare un controllo per le parole presenti negli URL, ovvero se una parola è presente in un URL, la pagina Web in quell'URL deve essere raschiata. Oppure puoi impostare esclusioni: URL con una parola particolare, a cui lo scraper non dovrebbe accedere.

Questi sono solo alcuni degli esempi delle centinaia di minuscole funzionalità che ottieni quando crei un web scraper da solo.

Provider DaaS vs team interno?

La maggior parte delle aziende che non hanno un team tecnico, o anche membri senza una conoscenza di base di alcun linguaggio di scripting, dovrebbero cercare di non iniziare a creare un team di scraping interno. Il motivo alla base di questo è semplice. I soldi che spendi per reclutare sviluppatori e poi convincerli a costruire e mantenere un sistema di scraping web completamente nuovo per le tue esigenze aziendali sarebbero enormi. E alla fine della giornata, se sei una piccola azienda e il web scraping non è il carburante per la tua attività (ovvero la tua attività non è incentrata sui dati che estrai dal Web), non ha senso creare un squadra interna.

La soluzione semplice, in tal caso, sono i provider DaaS che prendono le tue esigenze e ti forniscono i tuoi dati in un formato a tua scelta. Il nostro team di PromptCloud è molto orgoglioso di ridurre lo scraping web a un processo in due fasi per aziende e imprese.

Conclusione

Sebbene gli strumenti visivi siano utili per i team aziendali, possiamo essere d'accordo sul fatto che il web scraping non sia solo una semplice attività aziendale. È un compito che deve essere efficiente, veloce e completamente personalizzabile. Se hai requisiti di scraping web per grandi volumi o desideri estrarre dati web su una scala molto più ampia, si consiglia di utilizzare i servizi di scraping web.

Se non sei esperto di programmazione o i tuoi requisiti sono complessi, puoi utilizzare un fornitore di servizi completamente gestito come PromptCloud per ottenere dati puliti in modo automatizzato senza problemi tecnici o apprendimento di alcuno strumento.