VBA Web Scraping - Jak sešrotovat webové stránky pomocí aplikace Excel VBA?

Škrábání webu Excel VBA

VBA Web Scraping je technika přístupu na webové stránky a stahování dat z této webové stránky do našich počítačových souborů. Web scraping je možný přístupem k externím aplikacím, jako je Internet Explorer. Můžeme to udělat dvěma způsoby, tj. Early Binding & Late Binding.

Web Scraping with VBA means when we use VBA to fetch the data from the other sources on the web, this may require logins for the data sources, but first, in order to do so it, we need to make the references from the tools section in editor VBA pro knihovnu Microsoft HTML za účelem přístupu na web z VBA.

Málokdo z nás ví, že z aplikace Excel můžeme přistupovat k webovým stránkám a získávat z nich data. Ano, slyšeli jste to dobře. můžeme procházet webovými stránkami, přistupovat k aplikacím procházení a mnoha dalším. V tomto článku vám ukážeme, jak podrobně napsat kód VBA aplikace Excel pro škrábání webu.

Obvykle otevíráme webové stránky, kopírujeme data a vkládáme je do našich souborů, jako jsou Excel, Word nebo některé další soubory. Ale v tomto článku vám ukážeme, jak přistupovat na webové stránky z aplikace Excel a dělat mnoho dalších věcí.

Jak sešrotovat data webových stránek pomocí VBA?

Když chceme získat přístup k jakýmkoli dalším aplikacím z aplikace Excel, můžeme to udělat způsoby, tj. „Předčasná vazba“ a „Pozdní vazba“. V začátečnické fázi je vždy bezpečné použít techniku ​​„Early Binding“.

Pro přístup na web potřebujeme procházení aplikací, například „ Internet Explorer “. Jelikož se jedná o externí objekt, musíme nejprve nastavit odkaz.

Při šrotu webu postupujte podle následujících kroků.

Krok 1: Definujte proměnnou VBA a přiřaďte datový typ jako „ Internet Explorer “.

Kód:

Sub Web_Scraping () Dim Internet_Explorer jako internet End Sub

Jak vidíte výše, při pokusu o nastavení odkazu na Internet Explorer se nám nezobrazí „Internet Explorer“, protože „Internet Explorer“ je externí objekt, takže musíme nastavit odkaz.

Krok 2: Chcete-li nastavit odkaz, přejděte na „ Nástroje “ a vyberte „ Odkazy “.

V okně níže přejděte dolů a vyberte „ Microsoft Internet Controls “.

Krok 3: Zaškrtněte políčko „Microsoft Internet Controls“ a klikněte na OK. Nyní bychom měli vidět tento název objektu v seznamu IntelliSense.

Kód:

Sub Web_Scraping () Dim Internet_Explorer jako inter End Sub

Krok 4: Vyberte „InternetExplorer“.

Kód:

Sub Web_Scraping () Dim Internet_Explorer jako InternetExplorer End Sub

Krok 5: Dále musíme nastavit odkaz pro povolení aplikace Internet Explorer. Jelikož se jedná o objektovou proměnnou, musíme k nastavení odkazů použít klíčové slovo „ Set “.

Kód:

Sub Web_Scraping () Dim Internet_Explorer jako InternetExplorer Set Internet_Explorer = Nový InternetExplorer End Sub

Krok 6: Nyní pomocí proměnné „ Internet_Explorer “ můžeme použít vlastnosti a metody internetového průzkumníka.

Zadejte název proměnné a tečkou zobrazte seznam IntelliSense.

Kód:

Sub Web_Scraping () Dim Internet_Explorer jako InternetExplorer Set Internet_Explorer = Nový InternetExplorer Internet_Explorer. End Sub

Krok 7: Nyní, abychom mohli zobrazit aplikaci internet explorer, musíme zvolit vlastnost „ Viditelné “ a nastavit stav na „ Pravda “.

Kód:

Sub Web_Scraping () Dim Internet_Explorer jako InternetExplorer Set Internet_Explorer = Nový InternetExplorer Internet_Explorer.Visible = True End Sub

Nyní spusťte kód a měli byste vidět, že se v počítači otevírá Internet Explorer .

Krok 8: Protože nebyla uvedena žádná webová adresa, můžeme vidět pouze prázdnou stránku. Abychom mohli dát webovou adresu internetovému průzkumníkovi, potřebujeme metodu „ Navigace “.

Kód:

Sub Web_Scraping () Dim Internet_Explorer jako sada InternetExplorer Internet_Explorer = nový InternetExplorer Internet_Explorer.Visible = skutečný 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 jako InternetExplorer Set Internet_Explorer = nový InternetExplorer Internet_Explorer.Visible = skutečný Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Proveďte zatímco Internet_Explorer.ReadyState_LINE_LINE_LoAD_LoAD_LoBe_LoBe_LoBe_LoBE & Internet_Explorer.LocationURL End Sub

Nyní to řekne o popisu webových stránek a také zobrazí adresu webové stránky.

Na co si pamatovat zde

  • Web scraping je možný přístupem k externím aplikacím, jako je Internet Explorer.
  • Můžeme to udělat dvěma způsoby, tj. Early Binding & Late Binding. S Early Binding můžeme získat seznam IntelliSense, ale s pozdní vazbou nemůžeme vůbec vidět seznam IntelliSense.

Zajímavé články...