VBA veebi kraapimine | Kuidas Exceli VBA abil veebisaite lammutada?

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 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 Excelist 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?

Selle VBA veebi kraapimise Exceli malli saate alla laadida siit - VBA veebi kraapimise Exceli mall

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

Veebisaidile pääsemiseks vajame sirvimisrakendusi, näiteks Internet Explorerit . Kuna tegemist on välise objektiga, peame kõigepealt määrama viite.

Veebi sissekirjutamiseks toimige järgmiselt.

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

Kood:

 Sub Web_Scraping () Dim Internet_Explorer Internet End Sub 

Nagu näete ülal, kui proovime Internet Explorerisse viidet seada, ei näe me „Internet Explorerit”, selle põhjuseks on asjaolu, et „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 tegemist on objektimuutujaga, peame viidete määramiseks kasutama märksõna „ Set ”.

Kood:

 Sub Web_Scraping () Dim 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 „ Visible “ ja määrama olekuks „ True “.

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 Explorerisse peame kasutama meetodit “ Navigeerimine ”.

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. „//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 ("//www.wallstreetmojo.com") Lõpeta 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 selle veebileht täielikult avaneb.

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

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

Kood:

 Sub Web_Scraping () Hämardab Internet_Explorer InternetExplorerina Internet_Explorer = uus InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Tehke Interneti_Explorer.ReadyState READYSTATE_COMPLET 

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

Kood:

 Alamveebi_kraapimine () Dim Internet_Explorer InternetExplorerina määrab Internet_Explorer = Uus InternetExplorer Internet_Explorer.Visible = Tõsi Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Tehke Interneti-explorer.ReadyState READYSTATE_COMPLET_nimi 

Käivitage kood ja teatekastis saaksime teavet veebisaidi kohta.

12. samm: nüüd allosas saame printida ka veebisaitide aadresse.

Kood:

 Sub Web_Scraping () Dim Internet_Explorer InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Tehke samal ajal, kui 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 sidumine ja hiline köitmine. Varajase sidumise abil saame näha IntelliSense'i loendit, kuid hilise sidumisega ei saa me IntelliSense'i loendit üldse näha.

$config[zx-auto] not found$config[zx-overlay] not found