Veebikraapimine VBA-ga

Lang L: none (table-of-contents):

Anonim

Mis on andmete kraapimine?

Andmete kraapimine on tehnika, mis aitab soovitud teavet HTML-i veebisaidilt kohalikus masinas olevasse kohalikku faili eraldada. Tavaliselt võib kohalik fail vastata Exceli failile, sõnafailile või öelda mis tahes Microsofti kontorirakendus. See aitab kriitilise teabe kanaliseerimisel veebisaidilt.

Andmete kraapimine muutub igapäevaselt teaduspõhise projektiga töötades lihtsaks ning selline projekt sõltub puhtalt internetist ja veebisaidist. Teema täiendavaks illustreerimiseks võtame näiteks ühe päevakaupleja, kes juhib Exceli makrot, et tõmmata turuinfo finantsveebisaidilt VBA abil Exceli lehele.

Selles õpetuses saate teada:

  • Mis on andmete kraapimine?
  • Kuidas Exceli makrot enne Internet Exploreri abil andmete kraapimist teha?
  • Kuidas avada Internet Explorerit Exceli VBA abil?
  • Kuidas avada veebi Internet Exploreris, kasutades VBA-d?
  • Kuidas VBA abil veebisaidilt teavet kraapida?

Kuidas Exceli makrot enne Internet Exploreri abil andmete kraapimist teha?

Enne Excelis andmete kraapimisprotsessi jõudmist tuleb Exceli makrofailil täita teatud eeldused.

Need eeldused on järgmised:

Samm 1) Avage Exceli-põhine makro ja pääsege juurde Exceli arendajavalikule.

Samm 2) Valige arendaja lindi alt Visual Basic.

Samm 3) Sisestage uus moodul.

4. samm. Initsialiseerige uus alamprogramm

Sub test()End sub

Mooduli tulemus oleks järgmine: -

Samm 5) Juurdepääs tööriista vahekaardil olevale viitevalikule ja viide Microsofti HTML-i objektide teegile ja Microsofti Interneti-juhtimisele.

Moodulile tuleb viidata järgmistele failidele, kuna see aitab avada Internet Exploreri ja hõlbustab makroskriptide väljatöötamist.

Nüüd on Exceli fail Internet Exploreriga suhtlemiseks valmis. Järgmine samm oleks lisada makroskriptid, mis hõlbustaksid HTML-is andmete kraapimist.

Kuidas avada Internet Explorerit Exceli VBA abil?

1. samm. Initsialiseerige muutuja alamprogrammides, nagu allpool näidatud

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocument

Samm 2) Internet Exploreri avamiseks VBA-ga kirjutage st nähtav = true ja vajutage F5.

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentIe.visible=true

Moodul näeks välja järgmine: -

Kuidas avada veebi Internet Exploreris, kasutades VBA-d?

Siin on sammud veebisaidi avamiseks Internet Exploreris, kasutades VBA-d

1. samm. Kui teil on juurdepääs Internet Explorerisse Exceli VBA abil, hõlmab järgmine samm VBA abil veebisaidile juurdepääsu. Seda hõlbustab Atribuudi navigeerimine, kus URL peab atribuudis olema topelt jutumärkides. Järgige kuvatavaid samme.

Sub test()Dim, ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate"http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETE

2. samm) - makro käivitamiseks vajutage klahvi F5. Järgmine veebileht avatakse kuvatuna

Nüüd on Exceli makro kraapimisfunktsioonide täitmiseks valmis. Järgmine samm näitab, kuidas teavet saab Internet Explorerist VBA abil hankida.

Kuidas VBA abil veebisaidilt teavet kraapida?

Oletame, et päevakaupleja soovib igapäevaselt veebisaidil olevatele andmetele juurde pääseda. Iga kord, kui kaupleja vajutab nuppu, peaks see turuandmed automaatselt excelisse tõmbama.

Ülaltoodud veebisaidilt oleks vaja kontrollida elementi ja jälgida, kuidas andmed on üles ehitatud.

1. samm. Juurdepääs allpool olevale HTML-i lähtekoodile, vajutades klahve Ctrl + Tõst + I

Lähtekood oleks järgmine: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.document

Nagu on näha, et andmed on üles ehitatud ühe HTML-tabelina. Seega, kui terveid andmeid HTML-tabelist välja tõmmata, on vaja makro kujundamist, mis kogub andmeid kogu kujul.

Seejärel kleebitakse kogu excelisse. Selle saavutamiseks tehke soovitud tulemused allpool nimetatud toimingutega: -

2. samm. Alustage HTML-dokument alamprogrammis

VBA moodul näeks välja järgmine: -

3. samm. Initsialiseeri HTML-dokumendis sisalduv koguelement

VBA moodul näeks välja järgmine: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

4. samm. Initsialiseerige Exceli lehe lahtrid pesastatud silmuse abil, nagu näidatud

VBA moodul näeks välja järgmine: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

Exceli saab initsialiseerida Exceli lehe vahemiku atribuudi või Exceli lehe lahtrite atribuudi kaudu. VBA skripti keerukuse vähendamiseks lähtestatakse koguandmed töövihikus oleva lehe 1 Exceli lahtrite atribuudile.

Kui makroskript on valmis, edastage ja määrake alamprogramm Exceli nupule ja väljuge VBA moodulist. Märkige nupp värskendusena või mis tahes sobiva nimena, mida sellele saaks vormistada. Selles näites lähtestatakse nupp värskendusena.

Samm 5) Allpool nimetatud väljundi saamiseks vajutage värskendusnuppu

6. samm. Võrdle Exceli tulemusi Internet Exploreri tulemustega

Kokkuvõte:

  • Andmete kraapimine võimaldab kasutajal välja kraapida ainult seda teavet, mida kasutaja soovib.
  • Kraapimist saab teha Internet Exploreri abil.
  • Internet Exploreri puhul on kraapimine aeglasem; see annab siiski soovitud tulemused kasutajale.
  • Kraapimist tuleks teha absoluutselt ettevaatlikult ja ettevaatlikult, kuna see võib kraapimiseks kasutatavat süsteemi kahjustada ja kokku kukkuda.
CompanyGroupPre Close (Rs)Current Price (Rs)% Change