VBA struganje weba | Kako ukinuti web stranice koristeći Excel VBA?

Excel VBA struganje weba

VBA struganje weba tehnika je pristupa web stranicama i preuzimanja podataka s te web stranice u naše računalne datoteke. Web struganje moguće je pristupanjem vanjskim programima poput Internet Explorera. To možemo učiniti na dva načina, tj. Rano uvezivanje i kasno vezivanje.

Web struganje s VBA znači kada koristimo VBA za dohvaćanje podataka iz drugih izvora na webu, to može zahtijevati prijave za izvore podataka, ali prvo, da bismo to učinili, moramo omogućiti reference iz odjeljka alata u VBA uređivač za Microsoft HTML knjižnicu kako bi web mogao pristupiti iz VBA.

Nema puno nas koji znaju da iz Excela možemo pristupiti web stranicama i dobiti podatke s tih web stranica. Da, dobro ste čuli. možemo pretraživati ​​web stranice, pristupiti aplikacijama za pregledavanje i mnogim drugim. U ovom ćemo vam članku pokazati kako detaljno napisati excel VBA kôd za struganje weba.

Obično otvorimo web stranice, kopiramo podatke i zalijepimo ih u svoje datoteke kao što su excel, word ili neke druge datoteke. Ali u ovom ćemo vam članku pokazati kako pristupiti web mjestima iz programa Excel i raditi mnoge druge vrste stvari.

Kako ukloniti podatke s web stranice pomoću VBA?

Ovdje možete preuzeti ovaj VBA predložak za struganje weba ovdje - VBA predložak za struganje weba u programu Excel

Kada želimo pristupiti bilo kojoj drugoj aplikaciji iz excela, to možemo učiniti na načine, npr. „Rano povezivanje“ i „Kasno vezivanje“. U početničkoj fazi uvijek je sigurno koristiti tehniku ​​"Rano vezivanje".

Za pristup web mjestu trebamo pregledavati programe, na primjer, " Internet Explorer ". Budući da je to vanjski objekt, prvo moramo postaviti referencu.

Slijedite korake u nastavku za web bilješke.

Korak 1: Definirajte VBA varijablu i dodijelite vrstu podataka kao " Internet Explorer ".

Kodirati:

 Sub Web_Scraping () Zatamni Internet_Explorer Kao kraj Interneta Sub 

Kao što gore možete vidjeti kada pokušavamo postaviti referencu na Internet Explorer, ne možemo vidjeti "Internet Explorer", to je zato što je "Internet Explorer" vanjski objekt pa moramo postaviti referencu.

Korak 2: Da biste postavili referencu, idite na " Alati " i odaberite " Reference ".

U donjem prozoru pomaknite se prema dolje i odaberite " Microsoft Internet Controls ".

Korak 3: Označite okvir "Microsoft Internet Controls" i kliknite U redu. Sada bismo trebali vidjeti ovaj naziv objekta na popisu IntelliSense.

Kodirati:

 Sub Web_Scraping () Dim Internet_Explorer Kao inter End Sub 

Korak 4: Odaberite "InternetExplorer".

Kodirati:

 Sub Web_Scraping () Zatamni Internet_Explorer Kao InternetExplorer Kraj Sub 

Korak 5: Dalje, moramo postaviti referencu da omogućimo Internet Explorer. Budući da je ovo objektna varijabla, za postavljanje referenci moramo koristiti ključnu riječ " Set ".

Kodirati:

 Sub Web_Scraping () Dim Internet_Explorer kao InternetExplorer Set Internet_Explorer = Novi InternetExplorer Kraj Sub 

Korak 6: Sada pomoću varijable " Internet_Explorer " možemo koristiti svojstva i metode Internet Explorera.

Unesite naziv varijable i stavite točku da biste vidjeli popis IntelliSense.

Kodirati:

Sub Web_Scraping () Zatamni Internet_Explorer kao InternetExplorer Postavi Internet_Explorer = Novi InternetExplorer Internet_Explorer. Kraj pod

Korak 7: Da bismo pregledali aplikaciju Internet Explorer, moramo odabrati svojstvo " Vidljivo " i postaviti status " True ".

Kodirati:

 Sub Web_Scraping () Zatamni Internet_Explorer kao InternetExplorer Postavi Internet_Explorer = Novi InternetExplorer Internet_Explorer.Visible = True End Sub 

Sada pokrenite kôd i trebali biste vidjeti kako se Internet Explorer otvara na vašem računalu.

Korak 8: Budući da nije spomenuta nijedna web adresa, možemo vidjeti samo praznu stranicu. Da bismo dali web adresu Internet Exploreru, moramo koristiti metodu „ Navigacija “.

Kodirati:

 Sub Web_Scraping () Zatamni Internet_Explorer kao InternetExplorer Postavi Internet_Explorer = Novi InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (Kraj Sub) 

Korak 9: Kao što vidite gore, metoda "Navigacija", pitajući kojim URL-om se treba kretati u Internet Exploreru. Sada moram otvoriti web stranicu " Wallstreetnmojo " i mogu dati URL adresu na sljedeći način. “//Www.wallstreetmojo.com/”

Kodirati:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//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 ("//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 ("//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 = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState  READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName & vbNewLine & vbNewLine & Internet_Explorer.LocationURL End Sub 

Now this will tell about the website description and also shows the website address as well.

Things to Remember here

  • Web scraping is possible by accessing external applications like Internet Explorer.
  • We can do it in two ways i.e. Early Binding & Late Binding. With Early Binding, we can get to see the IntelliSense list but with late binding, we cannot get to see the IntelliSense list at all.