VBA veebi kraapimine - Kuidas Exceli VBA abil veebisaite lammutada?

Lang L: none (table-of-contents)

Exceli VBA veebi kraapimine

VBA veebi kraapimine on veebilehtedele juurdepääsemise ja sellel veebisaidil andmete allalaadimise tehnika meie arvutifailidesse. Veebi kraapimine on võimalik, kasutades juurdepääsu välistele rakendustele, nagu Internet Explorer. Saame seda teha kahel viisil, st varajane sidumine ja hiline köitmine.

Veebi kraapimine VBA-ga tähendab seda, et kui me kasutame VBA-d andmete hankimiseks teistest veebis olevatest allikatest, võib see vajada andmeallikate sisselogimist, kuid kõigepealt peame selleks lubama viited jaotises Tööriistad Microsofti HTML-i teegi VBA-redaktor, et pääseda VBA-st veebi juurde.

Mitte paljud meist ei tea, et Exceli kaudu pääseme veebilehtedele juurde ja saame nendelt veebilehtedelt andmeid. Jah, sa kuulsid seda õigesti. saame sirvida veebilehti, pääseda juurde sirvimisrakendustele ja paljule muule. Selles artiklis me näitame teile, kuidas veebi kraapimiseks Exceli VBA-koodi üksikasjalikult kirjutada.

Tavaliselt avame veebilehed, kopeerime andmed ja kleepime need oma failidesse, näiteks Exceli, Wordi või mõnda muusse faili. Kuid selles artiklis näitame teile, kuidas pääseda Exceli veebisaitidele ja teha palju muud.

Kuidas VBA abil veebisaidi andmeid vanarauaks lõigata?

Kui soovime Exceli kaudu juurde pääseda mis tahes muule rakendusele, saame seda teha näiteks „Varajane sidumine” ja „Hilinenud köitmine”. Algaja etapis on alati ohutu kasutada „Early Binding“ tehnikat.

Veebisaidile pääsemiseks vajame sirvimisrakendusi, näiteks „ Internet Explorer ”. Kuna see on väline objekt, peame kõigepealt määrama viite.

Veebi sissekirjutamiseks toimige järgmiselt.

1. samm: määratlege VBA muutuja ja määrake andmetüübiks „ Internet Explorer ”.

Kood:

Sub Web_Scraping () Dim Internet_Explorer Internet End Sub

Nagu näete eespool, ei saa me Internet Exploreri viite seadmisel proovida "Internet Explorerit" näha, kuna "Internet Explorer" on väline objekt, mistõttu peame viite määrama.

2. samm: viite määramiseks minge jaotisse „ Tööriistad ” ja valige „ Viited ”.

Kerige allolevas aknas alla ja valige „ Microsoft Internet Controls ”.

3. samm: märkige ruut „Microsoft Internet Controls” ja klõpsake nuppu OK. Nüüd peaksime seda objekti nime loendis IntelliSense nägema.

Kood:

Alamveebi_kraapimine () Hämardab Internet_Explorer kui lõpp-alam

4. samm: valige „InternetExplorer”.

Kood:

Sub Web_Scraping () Dim Internet_Explorer InternetExplorer End Sub Sub

5. samm: Järgmisena peame määrama viite Internet Exploreri lubamiseks. Kuna see on objektimuutuja, peame viidete määramiseks kasutama märksõna „ Set ”.

Kood:

Sub Web_Scraping () Hämardab Internet_Explorer InternetExplorerina Määra Internet_Explorer = Uus InternetExplorer End Sub

6. samm: muutuja „ Internet_Explorer ” abil saame nüüd kasutada Internet Exploreri omadusi ja meetodeid.

Sisestage muutuja nimi ja lisage punkt IntelliSense'i loendi kuvamiseks.

Kood:

Sub Web_Scraping () Hämardab Internet_Explorer InternetExplorerina Määra Internet_Explorer = Uus InternetExplorer Internet_Explorer. Lõpeta alam

7. samm: Internet Exploreri rakenduse vaatamiseks peame valima atribuudi „ Nähtav ” ja määrama olekuks „ Tõene ”.

Kood:

Sub Web_Scraping () Hämardab Internet_Explorer InternetExplorerina Määra Internet_Explorer = Uus InternetExplorer Internet_Explorer.Visible = True End Sub

Nüüd käivitage kood ja peaksite nägema, et teie arvutis avaneb Internet Explorer .

8. samm: kuna ühtegi veebiaadressi pole mainitud, näeme ainult tühja lehte. Veebiaadressi andmiseks Internet Explorerile peame kasutama navigeerimismeetodit .

Kood:

Sub Web_Scraping () Hämardab Internet_Explorer InternetExplorerina Määra Internet_Explorer = Uus InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub

9. samm: nagu näete ülaltoodud navigeerimismeetodit, küsides, millises URL-is Internet Exploreris navigeerida. Nüüd pean avama veebisaidi “ Wallstreetnmojo ” ja saan URL-aadressi anda järgmiselt. „Https://www.wallstreetmojo.com/”

Kood:

Sub Web_Scraping () Hämardab Internet_Explorer InternetExplorerina Määra Internet_Explorer = Uus InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Lõpp alam

Nüüd käivitage kood, peaksime Internet Exploreris nägema mainitud veebiaadressi lehte.

Siin on meil probleem, et kui veebileht on avatud, peab meie kood ootama, kuni lehe veebileht täielikult avaneb.

10. samm: me peame kasutama VBA-d „Do While” silmus, et tegelikult oodata, kuni meie kood läheb edasi, kuni mainitud leht on täielikult laaditud.

Niisiis, lisage silmus „Do While” alla, et sundida makrot ootama, kuni mainitud veebileht jõuab režiimi „ Valmisolek valmis ”.

Kood:

Alamveebi_kraapimine () Dim Internet_Explorer InternetExplorerina määrab Internet_Explorer = Uus InternetExplorer Internet_Explorer.Visible = Tõsi Internet_Explorer.Navigate ("https://www.wallstreetmojo.com")

11. samm: proovime nüüd veebisaidi kohta teavet saada ühel real. Mainitud veebiaadressi kohta teabe saamiseks peame kasutama atribuuti „ Asukoha nimi “.

Kood:

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 InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Tehke samal ajal, kui Internet_Explorer.ReadyState LetterLetter.Net & Internet_Explorer.LocationURL End Sub

Nüüd räägib see veebisaidi kirjeldusest ja näitab ka veebisaidi aadressi.

Siinkohal meeldejäävad asjad

  • Veebi kraapimine on võimalik, kasutades juurdepääsu välistele rakendustele, nagu Internet Explorer.
  • Saame seda teha kahel viisil, st varajane köitmine ja hiline köitmine. Varajase sidumise abil saame näha IntelliSense'i loendit, kuid hilise köitmise korral ei saa me IntelliSense'i loendit üldse näha.

Huvitavad Artiklid...