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?

Tuto šablonu aplikace VBA Web Scraping Excel si můžete stáhnout zde - šablonu VBA Web Scraping Excel

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

Pro přístup na web potřebujeme aplikace pro procházení, 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 pokynů.

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, když se pokoušíme nastavit odkaz na Internet Explorer, nevidíme „Internet Explorer“, je to 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 sada InternetExplorer Internet_Explorer = nový koncový sub InternetExplorer 

Krok 6: Nyní pomocí proměnné „ Internet_Explorer “ můžeme používat 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 sada InternetExplorer 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. K zadání webové adresy 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 

Krok 9: Jak vidíte výše, metoda „Navigace“ s dotazem, na které adrese URL se má procházet v internetovém prohlížeči. Nyní musím otevřít web „ Wallstreetnmojo “ a mohu zadat adresu URL následovně. „//Www.wallstreetmojo.com/“

Kód:

 Sub Web_Scraping () Dim Internet_Explorer jako InternetExplorer Set Internet_Explorer = nový InternetExplorer Internet_Explorer.Visible = skutečný Internet_Explorer.Navigate ("//www.wallstreetmojo.com") End Sub 

Nyní spusťte kód, měli bychom vidět zmíněnou stránku webové adresy v internetovém prohlížeči.

Tady máme problém, že po otevření webové stránky musí náš kód počkat, dokud se webová stránka stránky úplně neotevře.

Krok 10: Musíme použít smyčku „Do While“ ve VBA, abychom skutečně počkali, až náš kód půjde dál, dokud se uvedená stránka plně nenačte.

Přidejte tedy pod smyčku „Do While“, abyste donutili makro počkat, až se uvedená webová stránka přepne do režimu „ Ready State Complete “.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer jako InternetExplorer Set Internet_Explorer = Nový InternetExplorer Internet_Explorer.Visible = Pravý Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Proveďte, zatímco Internet_Explorer.ReadyState READYSTATE_COMPLETE 

Krok 11: Nyní se pokusíme získat informace o webu v jednom řádku. Chcete-li získat informace o zmíněných informacích o webové adrese, musíme použít vlastnost „ Název místa “.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer jako InternetExplorer Set Internet_Explorer = Nový InternetExplorer Internet_Explorer.Visible = Pravý Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Proveďte, zatímco Internet_Explorer.ReadyState EndADO LoL: 

Spusťte kód a v okně se zprávou bychom dostali informace o webu.

Krok 12: Nyní dole můžeme také tisknout adresy webových stránek.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer as InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Proveďte, zatímco Internet_Explorer.ReadyState_ReyState_Loadline_Loadline_LoADE_Load_LoB & .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. Díky Early Binding můžeme zobrazit seznam IntelliSense, ale s pozdní vazbou nemůžeme vůbec vidět seznam IntelliSense.