Škrabanie webu v programe Excel VBA
VBA Web Scraping je technika prístupu na webové stránky a sťahovania údajov z tohto webu do našich počítačových súborov. Webové scraping je možné získať prístupom k externým aplikáciám, ako je Internet Explorer. Môžeme to urobiť dvoma spôsobmi, tj Early Binding & Late Binding.
Web Scraping s VBA znamená, že keď používame VBA na načítanie údajov z iných zdrojov na webe, môže to vyžadovať prihlásenie pre zdroje údajov, ale najskôr je potrebné povoliť odkazy v sekcii nástrojov v editor VBA pre knižnicu Microsoft HTML, aby ste mali prístup na web z VBA.
Málokto z nás vie, že z programu Excel môžeme pristupovať na webové stránky a získavať z nich údaje. Áno, počuli ste to dobre. môžeme prehľadávať webové stránky, pristupovať k aplikáciám na prezeranie a mnoho ďalších. V tomto článku si ukážeme, ako podrobne napísať excelový kód VBA na škrabanie webu.
Spravidla otvárame webové stránky, kopírujeme údaje a vkladáme ich do našich súborov, ako sú napríklad Excel, Word alebo niektoré ďalšie súbory. Ale v tomto článku vám ukážeme, ako pristupovať na webové stránky z programu Excel a robiť mnoho ďalších vecí.

Ako zošrotovať dáta webových stránok pomocou VBA?
Ak chceme získať prístup k akýmkoľvek iným aplikáciám z programu Excel, môžeme to urobiť spôsobmi, napr. „Včasná väzba“ a „Neskorá väzba“. V štádiu začiatočníka je vždy bezpečné použiť techniku „Early Binding“.
Na prístup na webovú stránku potrebujeme aplikácie na prezeranie, napríklad „ Internet Explorer “. Pretože sa jedná o externý objekt, je potrebné najskôr nastaviť referenciu.
Podľa nasledujúcich pokynov môžete webový odkaz odstrániť.
Krok 1: Definujte premennú VBA a priraďte dátový typ ako „ Internet Explorer “.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako internet End Sub

Ako vidíte vyššie, pri pokuse o nastavenie odkazu na Internet Explorer sa nám nezobrazí „Internet Explorer“, pretože „Internet Explorer“ je externý objekt, takže je potrebné nastaviť odkaz.
Krok 2: Ak chcete nastaviť referenciu, choďte na „ Nástroje “ a vyberte „ Referencie “.

V dolnom okne posuňte zobrazenie nadol a vyberte možnosť „ Microsoft Internet Controls “.

Krok 3: Začiarknite políčko „Microsoft Internet Controls“ a kliknite na OK. Teraz by sme mali vidieť tento názov objektu v zozname IntelliSense.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako interný End Sub

Krok 4: Vyberte „InternetExplorer“.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako InternetExplorer End Sub

Krok 5: Ďalej musíme nastaviť referenciu, aby ste povolili Internet Explorer. Pretože sa jedná o objektovú premennú, na nastavenie odkazov je potrebné použiť kľúčové slovo „ Set “.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako sada InternetExplorer Internet_Explorer = nový koncový sub InternetExplorer

Krok 6: Teraz pomocou premennej „ Internet_Explorer “ môžeme používať vlastnosti a metódy internetového prieskumníka.
Zadajte názov premennej a bodkou zobrazte zoznam IntelliSense.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako InternetExplorer Set Internet_Explorer = Nový InternetExplorer Internet_Explorer. Koniec Sub

Krok 7: Teraz, aby sme mohli zobraziť aplikáciu internet explorer, musíme zvoliť vlastnosť „ Viditeľné “ a nastaviť stav na „ Pravda “.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako sada InternetExplorer Internet_Explorer = nový InternetExplorer Internet_Explorer.Visible = skutočný koncový sub

Teraz spustite kód a mali by ste vidieť, že sa vo vašom počítači otvára program Internet Explorer .

Krok 8: Pretože nebola uvedená žiadna webová adresa, vidíme iba prázdnu stránku. Ak chcete dať webovú adresu internetovému prieskumníkovi, potrebujeme metódu „ Navigácia “.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako sada InternetExplorer Internet_Explorer = nový InternetExplorer Internet_Explorer.Visible = skutočný Internet_Explorer.Navigate (koncový sub

Krok 9: Ako vidíte vyššie, metóda „Navigácia“ sa pýta, na ktorú adresu URL sa má prechádzať v internetovom prehliadači. Teraz musím otvoriť web „ Wallstreetnmojo “ a môžem zadať adresu URL nasledovne. „Https://www.wallstreetmojo.com/“
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako sada InternetExplorer Internet_Explorer = Nový InternetExplorer Internet_Explorer.Visible = Pravý Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Koniec Sub

Teraz spustite kód, v internetovom prehliadači by sa nám mala zobraziť spomínaná stránka s webovou adresou.

Tu máme problém, že po otvorení webovej stránky musí náš kód počkať, kým sa webová stránka stránky úplne otvorí.
Krok 10: Musíme použiť slučku „Do While“ vo VBA, aby sme skutočne počkali, kým náš kód pôjde ďalej, kým sa uvedená stránka úplne nenačíta.
Takže pridajte pod slučku „Do While“, aby ste donútili makro čakať, kým sa uvedená webová stránka nedostane do režimu „ Ready State Complete “.
Kód:
Sub Web_Scraping () Dim Internet_Explorer ako InternetExplorer Set Internet_Explorer = nový InternetExplorer Internet_Explorer.Visible = skutočný Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Urobte zatiaľ čo Internet_Explorer.ReadyState READYSTATE_COMETE

Krok 11: Teraz sa pokúsime získať informácie o webových stránkach v jednom riadku. Ak chcete získať informácie o uvedených informáciách o webovej adrese, musíme použiť vlastnosť „ Location Name “.
Kód:
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 Ako InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ( "https://www.wallstreetmojo.com") Do Kým Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName & vbNewLine & vbNewLine & Internet_Explorer.LocationURL End Sub

Teraz to bude hovoriť o popise webovej stránky a tiež sa zobrazí adresa webovej stránky.

Na čo je potrebné pamätať tu
- Webové scraping je možné získať prístupom k externým aplikáciám, ako je Internet Explorer.
- Môžeme to urobiť dvoma spôsobmi, tj Early Binding & Late Binding. Vďaka včasnej väzbe môžeme vidieť zoznam IntelliSense, ale s neskorou väzbou nemôžeme vidieť zoznam IntelliSense vôbec.