VBA Web Scraping - Come rottamare i siti Web utilizzando Excel VBA?

Excel VBA Web Scraping

VBA Web Scraping è una tecnica per accedere alle pagine Web e scaricare i dati da quel sito Web nei file del nostro computer. Il web scraping è possibile accedendo ad applicazioni esterne come Internet Explorer. Possiamo farlo in due modi: Early Binding e Late Binding.

Web Scraping con VBA significa che quando utilizziamo VBA per recuperare i dati da altre fonti sul Web, ciò potrebbe richiedere accessi per le origini dati, ma prima, per farlo, dobbiamo abilitare i riferimenti dalla sezione strumenti in l'editor VBA per la libreria Microsoft HTML per accedere al web da VBA.

Non molti di noi sanno che da Excel possiamo accedere alle pagine web e ottenere i dati da quelle pagine web. Sì, hai sentito bene. possiamo sfogliare pagine web, accedere ad applicazioni di navigazione e molto altro ancora. In questo articolo, ti mostreremo come scrivere un codice VBA Excel per il web scraping in dettaglio.

Di solito, apriamo le pagine web, copiamo i dati e li incolliamo nei nostri file come excel, word o altri file. Ma in questo articolo, ti mostreremo come accedere ai siti Web da Excel e fare molti altri tipi di cose.

Come eliminare i dati del sito Web utilizzando VBA?

Quando vogliamo accedere a qualsiasi altra applicazione da Excel, possiamo farlo in modi, ad esempio "Early Binding" e "Late Binding". Nella fase del principiante, è sempre sicuro utilizzare la tecnica "Early Binding".

Per accedere al sito web, abbiamo bisogno di applicazioni di navigazione, ad esempio " Internet Explorer ". Poiché si tratta di un oggetto esterno, dobbiamo prima impostare il riferimento.

Segui i passaggi seguenti per lo scrap web.

Passaggio 1: definire la variabile VBA e assegnare il tipo di dati come " Internet Explorer ".

Codice:

Sub Web_Scraping () Dim Internet_Explorer As internet End Sub

Come puoi vedere sopra, quando proviamo a impostare il riferimento a Internet Explorer, non vediamo "Internet Explorer" perché "Internet Explorer" è un oggetto esterno quindi dobbiamo impostare il riferimento.

Passaggio 2: per impostare il riferimento, vai su " Strumenti " e scegli " Riferimenti ".

Nella finestra sottostante, scorri verso il basso e scegli " Microsoft Internet Controls ".

Passaggio 3: selezionare la casella di "Microsoft Internet Controls" e fare clic su OK. Ora dovremmo vedere questo nome di oggetto nell'elenco IntelliSense.

Codice:

Sub Web_Scraping () Dim Internet_Explorer As inter End Sub

Passaggio 4: scegli "InternetExplorer".

Codice:

Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer End Sub

Passaggio 5: Successivamente, è necessario impostare il riferimento per abilitare Internet Explorer. Poiché si tratta di una variabile oggetto, è necessario utilizzare la parola chiave " Set " per impostare i riferimenti.

Codice:

Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer End Sub

Passaggio 6: ora, utilizzando la variabile " Internet_Explorer " , possiamo utilizzare le proprietà e i metodi di Internet Explorer.

Immettere il nome della variabile e inserire un punto per visualizzare l'elenco IntelliSense.

Codice:

Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = Nuovo InternetExplorer Internet_Explorer. End Sub

Passaggio 7: ora, per visualizzare l'applicazione Internet Explorer, dobbiamo scegliere la proprietà " Visible " e impostare lo stato su " True ".

Codice:

Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = Nuovo InternetExplorer Internet_Explorer.Visible = True End Sub

Ora esegui il codice e dovresti vedere un Internet Explorer che si apre sul tuo computer.

Passaggio 8: poiché non è stato menzionato alcun indirizzo web, possiamo vedere solo una pagina vuota. Per fornire l'indirizzo web a Internet Explorer, abbiamo bisogno del metodo " Navigazione ".

Codice:

Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub

Step 9: As you can see above “Navigation” method asking which URL to be navigated in internet explorer. Now I need to open the website “Wallstreetnmojo,” and I can give the URL address as follows. “https://www.wallstreetmojo.com/”

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") End Sub

Now run the code, we should see the mentioned web address page in internet explorer.

Here we have a problem that once the web page is opened, our code needs to wait until the page web page fully opened.

Step 10: We need to use the “Do While” loop in VBA to actually wait for our code to go any further until the mentioned page is fully loaded.

So, add below the “Do While” loop to force the macro to wait until the mentioned web page comes to the “Ready State Complete” mode.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop End Sub

Step 11: Now, let’s try to get information about the website in a single line. To get the information about the mentioned web address information, we need to use the “Location Name” property.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName End Sub

Run the code, and in the message box, we would get the information about the website.

Step 12: Now, at the bottom, we can also print website addresses as well.

Code:

Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = Nuovo InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Esegui mentre Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgineBewLocationName_Explorer. & Internet_Explorer.LocationURL End Sub

Ora questo parlerà della descrizione del sito web e mostrerà anche l'indirizzo del sito web.

Cose da ricordare qui

  • Il Web scraping è possibile accedendo ad applicazioni esterne come Internet Explorer.
  • Possiamo farlo in due modi, ovvero Early Binding e Late Binding. Con l'associazione anticipata è possibile visualizzare l'elenco IntelliSense, ma con l'associazione tardiva non è possibile visualizzare affatto l'elenco IntelliSense.

Articoli interessanti...