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.

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.

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.

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.

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.

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.

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.





