VBA Web Scraping eccellere

โšก Riepilogo intelligente

Web scrapping con VBA extracdati ts da pagine web HTML direttamente in Excel, utilizzando l'automazione di Internet Explorer e Microsoft Libreria di oggetti HTML per navigare in un sito, leggere una tabella HTML e scrivere i valori raccolti nelle celle di un foglio di calcolo.

  • ๐Ÿงฐ Automazione VBA: VBA permette di utilizzare Internet Explorer da Excel per caricare una pagina web e leggerne il codice HTML.
  • ๐Ÿ“š Referenze richieste: Microsoft Libreria di oggetti HTML e Microsoft Nel progetto รจ necessario fare riferimento a Internet Controls.
  • ๐ŸŒ Metodo di navigazione: Il metodo Navigate apre un target URLe il codice attende che la pagina sia pronta.
  • ๐Ÿงฑ Analisi delle tabelle HTML: La funzione getElementsByTagName legge la tabella in modo da poter scorrere righe e celle.
  • ๐Ÿ“Š Scrivi nelle celle: I valori raccolti vengono scritti nelle celle del foglio di calcolo, spesso dietro un pulsante Aggiorna.
  • ๐Ÿค– Assistenza AI: Gli strumenti di intelligenza artificiale e i copiloti ora generano scaricheping codifica e adatta i selettori quando cambiano i layout.

VBA Web Scraping eccellere

Che cos'รจ Data Scra?ping?

Raccolta datiping รจ la tecnica che aiuta extractrasferire le informazioni desiderate da una pagina web HTML a un file locale sul tuo computer. Normalmente, quel file locale รจ un file Excel, un file Word o qualsiasi altro file. Microsoft Applicazione per ufficio. Aiuta a veicolare informazioni critiche dalla pagina web.

Raccolta datiping Diventa prezioso in un progetto di ricerca che dipende quotidianamente da Internet. Per illustrare, si pensi a un day trader che esegue una macro di Excel per estrarre informazioni di mercato da un sito web finanziario e inserirle in un foglio Excel utilizzando VBA.

Come preparare la macro di Excel prima dell'estrazione dei datiping (Internet Explorer)

Prima di iniziare l'estrazione dei dati, รจ necessario eseguire alcuni prerequisiti sul file macro di Excel.ping

I prerequisiti sono i seguenti:

Passo 1) Apri una macro basata su Excel e accedi alle opzioni Sviluppatore di Excel.

Preparare la macro di Excel prima dell'estrazione dei dati.ping utilizzando Internet Explorer

Passo 2) Seleziona l'opzione Visual Basic nella barra multifunzione Sviluppo.

Preparare la macro di Excel prima dell'estrazione dei dati.ping utilizzando Internet Explorer

Passo 3) Inserisci un nuovo modulo.

Preparare la macro di Excel prima dell'estrazione dei dati.ping utilizzando Internet Explorer

Passo 4) Inizializza una nuova subroutine.

Sub test()
End Sub

Il modulo risulterebbe come segue:

Preparare la macro di Excel prima dell'estrazione dei dati.ping utilizzando Internet Explorer

Passo 5) Accedere all'opzione Riferimento nella scheda Strumenti e fare riferimento a Microsoft Libreria di oggetti HTML e Microsoft Comandi Internet.

I seguenti file devono essere aggiunti al modulo come riferimento, poichรฉ consentono di aprire Internet Explorer e facilitano la creazione di script macro.

Referenze Microsoft Libreria di oggetti HTML e controlli Internet

Ora il file Excel รจ pronto per interagire con Internet Explorer. Il passo successivo รจ incorporare script macro che facilitino l'estrazione dei dati.ping in HTML.

Come aprire Internet Explorer utilizzando Excel VBA

Passo 1) Inizializzare la variabile nella subroutine come mostrato di seguito.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument

Passo 2) Per aprire Internet Explorer tramite VBA, scrivi ie.Visible = True e premi F5.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument
ie.Visible = True

Il modulo si presenterebbe nel seguente modo:

Apri Internet Explorer utilizzando Excel VBA

Apri Internet Explorer utilizzando Excel VBA

Come aprire un sito Web in Internet Explorer utilizzando VBA

Ecco i passaggi per aprire un sito Web in Internet Explorer utilizzando VBA.

Passo 1) Una volta che รจ possibile accedere a Internet Explorer utilizzando Excel VBA, il passo successivo รจ accedere a un sito Web utilizzando VBA. Ciรฒ รจ facilitato dall'attributo Navigate, dove URL viene passato come virgolette doppie. Segui i passaggi indicati.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

Passo 2) Premi F5 per eseguire la macro. Si aprirร  la pagina web mostrata nell'immagine.

Aprire un sito Web in Internet Explorer utilizzando VBA

Ora la macro di Excel รจ pronta per eseguire lo scratchping funzioni. Il passo successivo mostra come le informazioni possono essere espressetracted da Internet Explorer utilizzando VBA.

Come estrarre informazioni da un sito web utilizzando VBA

Supponiamo che un day trader voglia accedere quotidianamente ai dati dal sito web. Ogni volta che il day trader clicca sul pulsante, i dati di mercato dovrebbero essere automaticamente importati in Excel.

Dal sito web sopra indicato, รจ necessario esaminare un elemento e osservare come sono strutturati i dati.

Passo 1) Accedi al codice sorgente dell'HTML qui sotto premendo Control + Shift + Io.

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

Il codice sorgente sarebbe il seguente:

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document

Come puoi vedere, i dati sono strutturati come un'unica tabella HTML. Pertanto, per estrarre tutti i dati dalla tabella HTML, รจ necessario progettare una macro che raccolga i dati come una collezione.

La raccolta viene quindi incollata in Excel. Per ottenere i risultati desiderati, seguire i passaggi seguenti.

Passo 2) Inizializza il documento HTML nella subroutine.

Passo 3) Inizializza l'elemento collezione presente nel documento HTML.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

Passo 4) Inizializza le celle del foglio Excel utilizzando un ciclo annidato, come mostrato.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object

ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

รˆ possibile inizializzare Excel utilizzando l'attributo Range o l'attributo Cells del foglio. Per ridurre la complessitร  dello script VBA, i dati della raccolta vengono inizializzati nell'attributo Cells del Foglio 1 della cartella di lavoro.

Una volta pronto lo script della macro, assegna la subroutine a un pulsante di Excel ed esci dal modulo VBA. Assegna al pulsante il nome "Aggiorna" o un nome a tua scelta. In questo esempio, il pulsante si chiama "Aggiorna".

Raccogli informazioni dal sito Web utilizzando VBA

Passo 5) Premi il pulsante Aggiorna per visualizzare il risultato mostrato di seguito.

Raccogli informazioni dal sito Web utilizzando VBA

Passo 6) Confronta i risultati ottenuti in Excel con quelli ottenuti in Internet Explorer.

Raccogli informazioni dal sito Web utilizzando VBA

DOMANDE FREQUENTI

Nell'editor VBA sono necessari due riferimenti in Strumenti, Riferimenti: il Microsoft Libreria di oggetti HTML e Microsoft Controlli Internet. Consentono a VBA di aprire Internet Explorer, navigare verso un URLe leggere gli elementi HTML della pagina.

Dipende dal sito web. Molti siti limitano lo scraping automaticoping nei loro termini di servizio, quindi esaminali prima ed evita di raccogliere dati personali o protetti da copyright. Scraping I dati pubblici, se utilizzati per analisi personali, presentano generalmente un rischio inferiore.

Internet Explorer รจ obsoleto, quindi i progetti moderni utilizzano Selenium VBA approccio, che guida Chrome, Firefox, o Edge. Selenium Offre supporto multi-browser e un'individuazione piรน affidabile degli elementi sui siti web attuali.

Sรฌ. Gli scraper e i copiloti basati sull'IA possono identificare i campi dati, generare extraccodice sorgente e si adattano automaticamente ai cambiamenti di layout. I modelli di apprendimento automatico analizzano anche pagine non strutturate, riducendo lo sforzo manuale di scrittura e manutenzione.ping script.

L'IA utilizza la visione artificiale e l'elaborazione del linguaggio naturale per riconoscere tabelle, prezzi e testo su una pagina, anche senza selettori fissi. Questa intelligente extraczione fa graffiping piรน resiliente quando un sito web cambia la sua struttura.

Riassumi questo post con: