Come eseguire lo scraping con Excel?

Autore :

Reagire :

Commento

Excel consente di estrarre dati dalle pagine web senza installare alcun programma esterno. Power Query è il metodo più semplice: bastano pochi clic per estrarre una tabella HTML e importarlo direttamente in un foglio. Per le pagine più complesse, il VBA prende il posto e ti offre un maggiore controllo.

Ecco come eseguire il web scraping in entrambi i casi.

Interfaccia di Excel che mostra l'estrazione di dati dal web tramite Power Query
L'estrazione dei dati dal web in Excel avviene in pochi passaggi. ©Christina per Alucare.fr

Come estrarre i dati da una pagina web in Excel con Power Query?

Power Query è uno strumento integrato in Microsoft Excel (detto anche Richiesta web (in alcune versioni) che serve a importare, elaborare e analizzare dati web provenienti da diverse fonti. In pratica, puoi:

  • Recupero dati web da un sito web, un file o un database.
  • Pulire o elaborare questi dati prima di analizzarli.
  • Carica i dati automaticamente in un documento, in modo che il tuo team possa lavorare su informazioni aggiornate.

È il metodo più semplice per estrarre dati dal web in Excel, senza scrivere una sola riga di codice. Ecco i quattro passaggi da seguire.

Passaggio 1: Accedere allo strumento di importazione

In Microsoft Excel, vai su’scheda Dati, quindi clicca su Ottenere dati e infine su Dal web.

Aprire un nuovo foglio Excel, andare su Dati, poi su Importa dati e infine su Dal Web.
Aprire un nuovo foglio Excel, andare su “Dati”, poi su “Importa dati” e infine su “Dal Web”. ©Christina per Alucare.fr

Fase 2: Incollare l'URL della pagina web

Incolla il’URL del sito web o della pagina che contiene le informazioni che desideri estrarre, quindi conferma.

Incolla l'URL del sito o della pagina di destinazione in Power Query.
Incolla l'indirizzo del sito o della pagina di destinazione. ©Christina per Alucare.fr

Fase 3: Navigare nel “Browser”

Si apre una finestra che mostra i tabelle rilevate. Power Query identifica automaticamente le tabelle presenti nel codice della pagina. Seleziona la tabella che ti interessa, ad esempio una tabella HTML, per ottenere un set di dati pulito.

Selezionare la tabella o i dati individuati nel Navigatore di Power Query.
Selezionare la tabella o i dati. ©Christina per Alucare.fr

Fase 4: Caricare i dati in un foglio Excel

Fare clic su Caricare per importare i dati direttamente nel tuo foglio di calcolo. Otterrai rapidamente una tabella ordinata, pronta per essere analizzata.

Fare clic su "Carica" per importare i dati dal web nel foglio Excel.
Caricare per importare i dati. ©Christina per Alucare.fr

Per scaricare le ultime informazioni dal sito, fai un cliccate con il tasto destro del mouse nella tua tabella, quindi clicca su Aggiornare. In questo modo mantieni i dati aggiornati quasi in tempo reale.

Il limite da tenere presente prima di iniziare

Power Query funziona solo con le pagine HTML statiche. Se la tabella non viene visualizzata nel browser, spesso ciò è dovuto al fatto che la pagina carica i propri contenuti in JavaScript : siti in React, Angular, oppure dati che vengono visualizzati dopo aver fatto scorrere la pagina.

In questo caso, hai due opzioni a disposizione. Puoi puntare direttamente all’API che il sito chiama in background, spesso visibile negli strumenti di sviluppo del browser. Altrimenti, passa al metodo VBA oppure a uno strumento specifico come Octoparse.

Come eseguire lo scraping con VBA e le macro di Excel?

VBA (Visual Basic for Applications) è il linguaggio di programmazione integrato in Microsoft Excel e agli altri programmi Microsoft Office. Ti permette di:

  • Automatizzare le operazioni ripetitive in Excel.
  • Creare macro, piccoli programmi che vengono eseguiti direttamente nel tuo file.
  • Aprire una pagina web, estrarre testo o tabelle e incollarli automaticamente in Excel.

È più tecnico di Power Query, ma ci guadagni un controllo avanzato : navigazione tra più pagine, gestione di una sessione con autenticazione, raccolta di dati che Power Query non rileva.

Ecco un esempio di macro che recupera una tabella HTML da una pagina:

Sub ScraperTableau()

 ' Dichiarazione degli oggetti
    Dim http As Object, html As Object
    Dim tableau As Object, ligne As Object, cellule As Object
    Dim i As Long, j As Long

 ' URL della pagina da estrarre
    Dim url As String
    url = "https://www.w3schools.com/html/html_tables.asp"
 
 ' Creazione di un oggetto HTTP
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.Send

 ' Caricamento del contenuto HTML
    Set html = CreateObject("HTMLFile")
    html.body.innerHTML = http.responseText

    ' Selezione della prima tabella trovata
    Set tabella = html.getElementsByTagName("table")(0)

 ' Ciclo su righe e colonne
    For i = 0 To tabella.Rows.Length - 1
        For j = 0 To tabella.Rows(i).Cells.Length - 1
 Cells(i + 1, j + 1).Value = tabella.Rows(i).Cells(j).innerText
 Next j
    Next i

End Sub

Spiegazione del codice:

  • Dim http As Object, html As Object : crea gli oggetti necessari per gestire la richiesta web e il contenuto HTML.
  • url = "..." : l'URL del sito web da sottoporre a scraping.
  • http.Open "GET", url, False : invia una richiesta HTTP per caricare la pagina.
  • html.body.innerHTML = http.responseText : inserisce la risposta HTML in un oggetto modificabile.
  • Set tabella = html.getElementsByTagName("table")(0) : si rivolge a primo quadro della pagina.
  • Doppio anello Per i … Per j … : legge ogni cella della tabella e la incolla nella cella corrispondente di Excel.

Attenzione a un limite importante. Questo codice invia un richiesta HTTP semplice via MSXML2.XMLHTTP e recupera solo l'HTML statico restituito dal server. Esso non è in grado di eseguire il JavaScript di una pagina. Su un sito moderno che carica i dati web in modo dinamico, otterrai un risultato vuoto. In questi casi, è necessario utilizzare un vero browser, ad esempio con Selenium e Python.

Quando utilizzare VBA per lo scraping:

  • Sul pagine che richiedono l'autenticazione (nome utente e password).
  • Quando devi recuperare più tabelle all’interno della stessa pagina o passare da una pagina all’altra.
  • Per automatizzare la raccolta quotidiana dei dati tramite un pulsante o un trigger programmato.

Power Query vs. VBA: quale metodo scegliere per lo scraping con Excel?

La scelta tra Power Query e VBA Dipende dalle tue esigenze e dalla complessità del sito di destinazione. Ecco un breve confronto per aiutarti a decidere.

Criteri Power Query VBA
Facilità d'uso Molto semplice, nessun codice Complesso, richiede codice
Flessibilità Limitato a dati tabular Molto flessibile, controllo totale
Curva di apprendimento Debole Alto
Tipo di pagina Pagine HTML solo dati statici Richieste HTTP, pagine con autenticazione
Casi d'uso Estrazione veloce di quadri Automazione avanzata, esigenze specifiche

In pratica, Power Query rimane la scelta migliore per i principianti e per la maggior parte delle attività di routine: bastano quattro passaggi per importare dati dal web in Microsoft Excel, senza scrivere nemmeno una riga di codice.

Scegli VBA solo quando hai un’esigenza specifica che Power Query non copre: pagine complesse, autenticazione, automazione avanzata. Per tutto il resto, Power Query ti farà risparmiare tempo.

Quali sono le alternative a Excel per il web scraping?

Excel rimane pratico, ma mostra presto i propri limiti quando si tratta di grandi volumi di dati web. Per un progetto più ambizioso, subentrano altri strumenti. Alcuni funzionano senza codice, mentre altri richiedono un po’ di programmazione. Troverai anche dei strumenti gratuiti a seconda delle tue esigenze.

Strumenti no-code e low-code

Questi strumenti consentono di raccolta di dati web senza scrivere una sola riga di codice. Si configura il proprio progetto tramite un'interfaccia grafica, quindi si esporta il risultato in formato CSV per aprirlo direttamente in Excel. È utile per la monitoraggio del mercato o il monitoraggio di varie fonti online.

  • Bright Data : una soluzione professionale, potente e pensata per le esigenze più complesse di un’azienda.
  • Octoparse a web scraper senza codice con un'interfaccia semplice, perfetto per chi è alle prime armi e per esportare in Excel con pochi clic.

Interfaccia di Bright Data, infrastruttura di raccolta dati web per l'IA e la BI
Bright Data è un'infrastruttura di dati web illimitata per l'IA e la BI. ©Christina per Alucare.fr

Linguaggi di programmazione

Una lingua come Python ti permette di estrarre dati dai siti web in modo molto flessibile. Puoi navigare su più pagine in modo automatico, gestire i siti con autenticazione e garantire una raccolta dati impossibile da realizzare con Power Query. Ciò risulta particolarmente utile per un’azienda che tiene d’occhio i propri concorrenti o analizza le proprie reti di distribuzione.

Per un progetto complesso, rivolgiti al scraping del web con Python e BeautifulSoup. È il metodo più efficace quando la raccolta dei dati diventa regolare o su larga scala.

Ecco un rapido confronto tra le soluzioni che superano Excel in termini di potenza, flessibilità e semplicità.

Strumento / Linguaggio Costo Complessità Potere
Excel (Power Query) Dipende dal pacchetto Office Facile Di base
Excel (VBA) Gratuito (con licenza Office) Significare Significare
Bright Data Abbonamento mensile Significare Molto elevata
Octoparse Abbonamento mensile Facile Significare
Python (BeautifulSoup, Scrapy) Gratuito Alto Molto elevata

Quali strumenti e risorse possono aiutare a eseguire lo scraping con Excel?

Per approfondire l'argomento Power Query e VBA, puoi integrare Excel con dei strumenti di terze parti. Questi scraper esportano i dati in CSV, un formato che Excel apre direttamente. In questo modo ottieni un set di dati pulito, pronto per l'analisi, senza dover scrivere una sola riga di codice.

Ecco due opzioni utili a seconda delle tue esigenze:

  • Una estensione per il web scraping per il tuo browser, come Web Scraper Su Chrome Dove Firefox. È la soluzione ideale per estrarre dati da un sito web con pochi clic, senza dover installare programmi pesanti.
  • il scraping del web con Python. Questo metodo richiede un po’ di codice, ma gestisce i pagine complesse Quello Power Query non rileva.

In pratica, scegli l’estensione per un'esigenza occasionale e urgente. Vai a Python non appena desideri automatizzare una raccolta dati periodica o elaborare un grande volume di informazioni.

Il web scraping è legale?

il Il web scraping è legale a determinate condizioni. Tutto dipende dalle condizioni generali di utilizzo del sito, dalla proprietà intellettuale e dall’uso che fai dei dati raccolti.

In pratica, i dati pubblici sono generalmente recuperabili. Per contro, non appena si interviene su dati personali (nome, e-mail, profilo), inserisci nel campo RGPD, anche se tali informazioni sono accessibili al pubblico su Internet.

Prima di eseguire lo scraping di un sito, verifica due semplici cose:

  • Il file robots.txt del sito, che indica le pagine che i robot sono autorizzati o meno a scansionare.
  • Il condizioni d'uso, che talvolta vietano esplicitamente la raccolta automatizzata dei dati.

Per mantenere la calma, limitati a dati non personali e rispetta la frequenza di aggiornamento del sito per non sovraccaricarlo.

👍La vostra opinione
L'articolo è informativo
L'articolo è oggettivo
L'articolo risponde alla mia domanda
I contenuti sono aggiornati
🔍 Trovato qualche errore? Diteci dove!

Vi piace? Condividetelo!

Questo contenuto è originariamente in francese (Vedere l'editor appena sotto). È stato tradotto e corretto in varie lingue utilizzando Deepl e/o l'API di Google Translate per offrire aiuto al maggior numero possibile di Paesi. Questa traduzione ci costa diverse migliaia di euro al mese. Se non è 100 % perfetta, lasciateci un commento in modo da poterla correggere. Se sei interessato a correggere e migliorare la qualità degli articoli tradotti, inviaci un'e-mail tramite il modulo di contatto!
Apprezziamo il vostro feedback per migliorare i nostri contenuti. Se desiderate suggerire miglioramenti, utilizzate il nostro modulo di contatto o lasciate un commento qui sotto. I vostri commenti ci aiutano sempre a migliorare la qualità del nostro sito Alucare.fr


Alucare è un media indipendente. Sosteneteci aggiungendoci ai preferiti di Google News:

Pubblicare un commento sul forum di discussione