7 Strumenti Gratuiti per fare Scraping

Articolo aggiornato a marzo 2020

Indice dell’articolo

Che cos’è lo Scraping

Lo Scraping (dall’inglese to scrape che significa “grattare”, “raschiare”, “racimolare”) è una tecnica informatica che consiste nell’estrazione di dati in modo automatizzato attraverso strumenti in grado di scandagliare risorse web e collezionare informazioni.

Lo stesso Google attraverso i suoi parser utilizza metodi di scraping per analizzare i siti web ed estrarne i contenuti che utilizzerà poi per la propria catalogazione

Il metodo di estrazione dei dati tramite sistemi di scraping si basa sull’analisi del codice di un sito per riconoscerne  strutture logiche simili ed essere quindi in grado di selezionare solo i dati di proprio interesse.

Facciamo un esempio per capire meglio.

Immaginiamo di volere fare una ricerca dei migliori film usciti nel 2017. Andiamo su Google e cerchiamo “migliori film 2017” e scegliamo un sito web.

Il sito in questione ha al suo interno una lista di tutti i film usciti nel 2017 con informazioni su genere, anno di uscita, nazionalità, etc…

Se volessi utilizzare questa lista dovrei fare un copia ed incolla della pagina rischiando però di portarmi dietro informazioni di cui non ho bisogno (es: formattazione, immagini, etcc.). Per fare un’estrazione pulita dei dati ci viene in aiuto proprio lo scraping che grazie al riconoscimento dell’architettura del sito ci permette di estrarre solo i dati di nostro interesse.

L’immagine sotto mostra come la pagina del listato dei film abbia delle informazioni ricorrenti:

  • Titolo: h5 con classe = titolo;
  • Genere: testo contenuto in una span con classe genere;
  • Anno: testo contenuto in una span con classe anno.. e cosi via.

migliori-film-2017

Grazie allo scraping posso identificare queste informazioni ed estrarle in maniera automatizzata. L’identificazione di queste informazioni può avvenire tramite diverse modalità che sfruttano la selezione di dati html o css (es: selettori jquery, nodi xml, selettori css, etc…).

Strumenti di Scraping

Lo Scraping è una tecnica che viene utilizzata ormai da molti anni e nel tempo sono cambiate le tecnologie per effettuare analisi automatizzate anche se la logica alla base dell’estrazione è rimasta sempre la stessa. In questo articolo vi indico 5 strumenti gratuiti (con possibilità di passare a versione premium per alcuni) che possono essere utilizzati per fare scraping.

Octoparse

Sito web: https://www.octoparse.com/

Octoparse è uno strumento di scraping potente ed efficace che permette di estrarre diverse tipologie di dati da sorgenti online. Grazie ad un’interfaccia semplice e visuale è possibile configurare il tool in pochi passi ed impostare l’architettura di estrazione senza dover scrivere una singola riga di codice.

Oltre alla versione gratuita Octoparse offre una versione premium dotata di proxy con rotazione automatica dell’ip, accesso all’api e gestione in cloud dei dati estratti.

Octoparse Web Scraper

Pro: molto semplice da utilizzare ma anche potente. Nella versione free permette di estrarre fino . a 10.000 record con l’utilizzo di 10 diversi crawlers.
Contro: purtroppo non offre una versione web ma è necessario scaricare il software stand alone che è compatibile solo con sistemi operativi Windows.

Parse Hub

Sito web: https://www.parsehub.com/

Parsehub è un software desktop disponibile per Windows, Mac e Linux dotato di caratteristiche molto avanzate tra cui la possibilità di sfruttare diversi IP (per evitare blocchi da parte del server), l’integrazione con sistemi di archiviazione (come dropbox) e la scansione di siti realizzati con tecnologie come Javascript e Ajax (difficili da scansionare da altri strumenti).

Nella versione gratuita Parsehub permette la gestione di 5 progetti e lo scraping di 200 pagine in 40 minuti.

Parsehub

Pro: strumento con funzioni molto avanzate
Contro: peccato sia un software desktop e non abbia una versione web

Data-Miner.io

Sito web: https://data-miner.io/

Data Miner è un tool di scraping che si integra con Google Chrome ed è composto da due componenti, l’esecutore (Data Miner) ed un creatore di “ricette” (Data Miner Beta).

Tramite l’estensione si possono creare delle ricette di scraping selezionando in maniera visuale i dati da estrarre nella singola pagina. Una volta creata la ricetta si visita il sito e si lancia lo strumento che procede all’estrazione e poi al download delle risorse.

Nella versione free lo strumento permette di estrarre fino a 500 pagine al mese.

Data Miner

Pro: lo strumento è molto semplice da utilizzare e premette l’estrazione di dati in pagine non visibili attraverso un sistema di navigazione in background
Contro: il limite di 500 pagine/mese nella versione free può non essere sufficiente per alcuni progetti

Webscraper.io

Sito web: http://webscraper.io/

Web Scraper è un’estensione di Google Chrome che si integra con la Console per Sviluppatori. Una volta lanciata, l’estensione permette di creare una sitemap del sito che si vuole “scrapare” selezionando i vari elementi e fornendo un’anteprima del risultato.

Al termine della creazione della sitemap basta lanciare l’estrazione e lo strumento ci fornisce una tabella con i dati scaricati esportabile in csv.

Web Scraper

Pro: completamente gratuito e semplice da usare
Contro: il sistema è molto basico e non permette estrazioni avanzate

Google Spreadsheets

Sito web: https://spreadsheets.google.com/

Google Spreadsheets è il tool di Google dedicato ai fogli di calcolo (la versione Googliana di Excel); lo strumento non nasce come sistema di scraping ma grazie alla funzione IMPORTXML permette l’importazione di vari tipi di dati strutturati, tra cui XML, HTML, CSV, TSV e feed XML RSS e ATOM.

Nel file spreadsheet va inserito l’url della pagina che si vuole analizzare e le query xpath che vanno ad identificare gli elementi da scansionare.

Una volta eseguita la funzione importa nel file Google i dati della pagina che stiamo scansionando.

Google Spreadsheets

Pro: permette la combinazione dei dati importati a qualsiasi altra informazione grazie alle funzioni native dei fogli di calcolo
Contro: l’elaborazione dei dati importati ha un limite che non è ben chiaro (una volta era 50 formule, poi 500..) ma che comunque può creare dei disagi nel caso si debbano importare grandi volumi di dati

ScraperApi

Sito web: https://www.scraperapi.com

ScraperApi è un servizio pensato per chi fa attività di Scraping in modo massivo, infatti offre una API che permette di gestire attività di proxy rotation, risoluzione di CAPTCHAs, impostazione di headless browsers, in pratica tutto ciò che serve per evitare di essere bloccati durante l’attività di scraping.

ScraperApi mette a disposizione dei propri clienti oltre 20 milioni di IP in 12 differenti Paesi offrendo una una larghezza di banda illimitata ed un uptime garantito del 99,99% con piani di sottoscrizione che vanno dai 29$ ai 249$.

ScraperApi

Pro: grazie a ScraperApi si possono gestire illimitate attività di scraping senza incorrere in blocchi di nessun tipo.
Contro: per utilizzarlo serve una competenza specifica nell’utilizzo delle API e nella programmazione orientata allo scraping.

ScrapingBee

Sito web: https://www.scrapingbee.com/

ScrapingBee è una Web Scraper API che mette al servizio dell’utente un headless browser in grado di renderizzare una pagina web (vedendola come la vedrebbe un utente) ed estrarre le informazioni utili per lo scraping.

Una volta renderizzata la sorgente ScrapingBee permette di utilizzare librerie Js come React, Angulars e Vue.js per creare degli script di estrazione dei dati.

Per evitare blocchi da parte dei siti oggetto dello scraping ScrapingBee offre un servizio di proxies a rotazione che permette agli script di essere eseguiti in modo massivo senza su grandi quantità di dati.

ScrapingBee

Pro: per i meno esperti di programmazione ScraperBee mette a disposizione degli utenti uno Store API dove scaricare script preconfigurati per eseguire specifiche azioni su tantissimi siti (come Google, Instagram, Booking, etc..).
Contro: confrontato con altri servizi a parità di piani offre caratteristiche leggermente minori.
Inserito in:
L'Autore

Stefano Salustri

Sono un Consulente in Digital Marketing con oltre 10 anni di esperienza. Mi occupo di progettare e sviluppare strategie digitali per Piccole e Medie Imprese per aiutare le aziende ad ottenere il massimo ritorno dagli investimenti nei canali online. 📈

9 commenti

  1. Ho provato Portia, forse non lo so usare bene, ma ci ha messo ore e mi ha restituito soltanto 3 post.
    Qualcuno lo ha provato? Mi sapete dire se Sbaglio qualcosa?

    • Ciao Andrea,
      per la mia esperienza ha sempre funzionato correttamente. Tutto sta a selezionare le giuste informazioni da estrarre tramite i selettori CSS o Xpath. Poi una volta avviato il tool lo spider si occuperà di recuperare le informazioni che trova nel sito target.

  2. Complimenti bell’articolo! Io dovrei fare lo scraper di documenti che mi arrivano, pdf e jpg, e la qualià di questi a volte è scarsa. Che strumento si potrebbe usare? Inoltre il dato che viene letto deve essere caricato in un DB, ma la parte difficile è quella di non inserire doppioni nel DB e di inserire il dato nel posto giusto. In pratica Ho un foglio stampato, leggo i dati e li inserisco in un form, posso automatizzare l’inserimento dei dati?

    • Ciao Gaspare, non conosco uno strumento preciso per fare quello di cui hai bisogno ma se provi a cercare su Google query come “pdf parser”, “scraping from pdf” o “pdf data scraping” trovi varie soluzioni che potrebbero fare al caso tuo.
      L’idea di base è quella di convertire un pdf in un formato diverso come html o csv e da lì prendere i dati da utilizzare all’interno del tuo database. Se il pdf non è “leggibile” potresti provare anche un sistema di ocr (optical character recognition) per estrarre le informazioni.
      Non ti saprei dire se i tool che trovi possono già essere sufficienti a fare quello di cui hai bisogno; eventualmente non lo fossero dovresti crearti un parser ad hoc.

  3. Ciao Stefano, conosci un metodo/tool per effettuare uno scarping delle SERP di Google partendo da una lista di keyword? Grazie in anticipo e complimenti per l’articolo, molto utile!

    • Ciao Dario,
      non ho capito bene la tua esigenza. Vuoi una lista dei risultati Google partendo da una lista di parole chiave (interrogare Google in modo massivo)? O partendo da una serp vuoi estrarre delle specifiche parole chiave?

  4. Ciao Stefano avrei bisogno estrapolare da siti di brand ufficiali le liste dei loro negozi. solitamente bisognerebbe indicare il cap o la città in cui ci si trova per avere una piccola lista degli stores limitrofi. capisci bene che la trasformazione in csv impiega tantissimo lavoro e tempo. Mi sapresti indicare un software che potrebbe fare al caso mio. Grazie e complimenti per l’articolo

    • Ciao Beppe,
      qualsiasi degli strumenti citati nel mio articolo possono fare al caso tuo. Questi strumenti di Scraping ti permettono di identificare all’interno di una pagina le informazioni ricorrenti che vuoi estrapolare (es: nome negozio, indirizzo, etc..); con un sistema visuale all’interno della pagina devi selezionare i dati che vuoi estrarre e poi al resto pensa lo strumento che ti fornisce queste informazioni in una tabella o in un file.

      Ti consiglio di provarne qualcuno e scegliere quello che ritieni più semplice per il tuo caso.

      Stefano

  5. Ciao Stefano, ottimo articolo, ho usato webscraper.io in passato per racimolare alcune informazioni da un gruppo di Facebook, ho amministrato che era un compito abbastanza semplice e lo strumento era abbastanza buono per quello, ma per compiti più grandi hai considerato lo strumento Oxylabs RTC ? Sembra molto costoso, ma probabilmente c’è una ragione per questo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *