Raspatge web de VBA | Com desfer llocs web mitjançant Excel VBA?

Raspat web Excel VBA

Raspatge web VBA és una tècnica d’accés a pàgines web i descàrrega de dades d’aquest lloc web als nostres fitxers informàtics. El rascat web és possible accedint a aplicacions externes com Internet Explorer. Ho podem fer de dues maneres, és a dir, enquadernació primerenca i enquadernació tardana.

El rascat web amb VBA significa que quan fem servir VBA per obtenir les dades d’altres fonts del web, és possible que calgui iniciar la sessió per a les fonts de dades, però primer, per fer-ho, hem d’habilitar les referències de la secció d’eines de l'editor VBA de la biblioteca HTML de Microsoft per accedir al web des de VBA.

No molts sabem que des d’Excel podem accedir a les pàgines web i obtenir-ne les dades. Sí, ho has sentit bé. podem raspar les pàgines web, accedir a les aplicacions de navegació i moltes més. En aquest article, us mostrarem com escriure detalladament un codi Excel VBA per al rascat web.

Normalment, obrim les pàgines web, copiem les dades i les enganxem als nostres fitxers, com ara Excel, Word o altres fitxers. Però en aquest article us mostrarem com accedir a llocs web des d’Excel i fer molts altres tipus de coses.

Com es poden desfer les dades del lloc web mitjançant VBA?

Podeu descarregar aquesta plantilla Excel de VBA Web Scraping aquí: plantilla Excel de VBA Web Scraping

Quan volem accedir a qualsevol altra aplicació des d’Excel, podem fer-ho de maneres, com ara “Early Binding” i “Late Binding”. A l’etapa per a principiants, sempre és segur utilitzar la tècnica “Early Binding”.

Per accedir al lloc web necessitem aplicacions de navegació, per exemple, “Internet Explorer”. Com que és un objecte extern, hem d’establir primer la referència.

Seguiu els passos següents per fer un desglossament web.

Pas 1: Definiu la variable VBA i assigneu el tipus de dades com a "Internet Explorer”.

Codi:

 Web_Scraping () Dim Internet_Explorer com a Internet End Sub 

Com podeu veure més amunt quan intentem establir la referència a Internet Explorer, no podem veure "Internet Explorer", perquè "Internet Explorer" és un objecte extern, de manera que hem de definir la referència.

Pas 2: Per establir la referència, aneu a "Eines"I tria"Referències”.

A la finestra següent, desplaceu-vos cap avall i trieu "Controls d'Internet de Microsoft”.

Pas 3: Marqueu la casella "Microsoft Internet Controls" i feu clic a Ok. Ara hauríem de veure aquest nom d'objecte a la llista IntelliSense.

Codi:

 Sub Web_Scraping () Dim Internet_Explorer Com inter Final Sub 

Pas 4: Trieu "InternetExplorer".

Codi:

 Web_Scraping () Dim Internet_Explorer Com InternetExplorer End Sub 

Pas 5: A continuació, hem d’establir la referència per habilitar Internet Explorer. Com que es tracta d’una variable objecte, hem d’utilitzar el “Conjunt”Paraula clau per establir les referències.

Codi:

 Sub Web_Scraping () Dim Internet_Explorer com a configurat d'InternetExplorer Internet_Explorer = Nou final d'InternetExplorer 

Pas 6: Ara s'utilitza la variable "Internet Explorer”Podem utilitzar les propietats i mètodes d’Internet Explorer.

Introduïu el nom de la variable i poseu un punt per veure la llista IntelliSense.

Codi:

Sub Web_Scraping () Dim Internet_Explorer com a InternetExplorer Defineix Internet_Explorer = Nou InternetExplorer Internet_Explorer. Finalitzar sub

Pas 7: Ara, per veure l'aplicació Internet Explorer, hem de triar "Visible"I definiu l'estat com a"És cert”.

Codi:

 Sub Web_Scraping () Dim Internet_Explorer com a configurat d'InternetExplorer Internet_Explorer = Nou InternetExplorer Internet_Explorer.Visible = Sub finalitat veritable 

Ara executeu el codi i hauríeu de veure un fitxer Internet Explorer s'obre a l'ordinador.

Pas 8: Com que no s'ha mencionat cap adreça web, només podem veure una pàgina en blanc. Per donar l'adreça web a Internet Explorer, necessitem "Navegació”Mètode.

Codi:

 Sub Web_Scraping () Dim Internet_Explorer com a configurat d'InternetExplorer Internet_Explorer = Nou InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub 

Pas 9: Com podeu veure més amunt, el mètode "Navegació" demana per quina URL s'ha de navegar a Internet Explorer. Ara he d'obrir el lloc web "Wallstreetnmojo”I puc donar l’adreça URL de la següent manera. "//Www.wallstreetmojo.com/"

Codi:

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

Ara executeu el codi, hauríem de veure la pàgina d’adreça web esmentada a Internet Explorer.

Aquí tenim un problema: un cop oberta la pàgina web, el nostre codi ha d’esperar fins que la pàgina web s’obri completament.

Pas 10: Hem d’utilitzar el bucle “Do While” a VBA per esperar que el nostre codi vagi més lluny fins que la pàgina esmentada es carregui completament.

Per tant, afegiu a sota del bucle "Feu-ho mentre que" per forçar la macro a esperar fins que la pàgina web esmentada arribi al "Estat preparat completat”Mode.

Codi:

 Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = Nou InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Feu-ho mentre Internet_Explorer.ReadyState READYSTATE_COMPLETE: Bucle End Sub 

Pas 11: Ara intentem obtenir informació sobre el lloc web en una sola línia. Per obtenir la informació sobre la informació d’adreça web esmentada, hem d’utilitzar el “Nom de la ubicació" propietat.

Codi:

 Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = Nou InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Feu-ho mentre Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer. 

Executeu el codi i, al quadre de missatges, obtindrem la informació sobre el lloc web.

Pas 12: Ara a la part inferior, també podem imprimir adreces de llocs web.

Codi:

 Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = Nou InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Feu-ho mentre Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer_Blog_Internet_Explorer_Login_Explorer_Login_Explorer_Internet_Explorer_Login_Explorer_Login_Explorer_Login_Explorer_Blog_Internet_Explorer_Login_Explorer_Blog_Internet_Login_Explorer_Login_Explorer_Blog_Internet_Login_Explorer_Blog_Internet_Login_Explorer_Blog_Internet> .LocationURL End Sub 

Ara això explicarà la descripció del lloc web i també mostrarà l'adreça del lloc web.

Coses que cal recordar aquí

  • El rascat web és possible accedint a aplicacions externes com Internet Explorer.
  • Ho podem fer de dues maneres, és a dir, enquadernació primerenca i enquadernació tardana. Amb Early Binding, podem veure la llista IntelliSense, però amb la vinculació tardana, no podem veure la llista IntelliSense.