Tīmekļa nokasīšana ar VBA

Satura rādītājs:

Anonim

Kas ir datu nokasīšana?

Datu nokasīšana ir metode, kas palīdz iegūt vēlamo informāciju no HTML tīmekļa lapas uz vietējo failu, kas atrodas jūsu vietējā mašīnā. Parasti vietējais fails varētu atbilst Excel failam, vārdu failam vai jebkurai Microsoft Office lietojumprogrammai. Tas palīdz novirzīt kritisko informāciju no tīmekļa lapas.

Datu nokasīšana kļūst vienkārša, ikdienā strādājot pie pētniecībā balstīta projekta, un šāds projekts ir pilnībā atkarīgs no interneta un vietnes. Lai vairāk ilustrētu šo tēmu, ņemsim piemēru no dienas tirgotāja, kurš vada Excel makro, lai tirgus informāciju no finanšu vietnes izvilktu Excel lapā, izmantojot VBA.

Šajā apmācībā jūs uzzināsiet:

  • Kas ir datu nokasīšana?
  • Kā sagatavot Excel Macro pirms datu nokasīšanas, izmantojot Internet Explorer?
  • Kā atvērt Internet Explorer, izmantojot Excel VBA?
  • Kā atvērt vietni Internet Explorer, izmantojot VBA?
  • Kā nokasīt informāciju no vietnes, izmantojot VBA?

Kā sagatavot Excel Macro pirms datu nokasīšanas, izmantojot Internet Explorer?

Ir daži priekšnosacījumi, kas jāizpilda Excel makro failā, pirms tiek iesaistīts datu nokasīšanas procesā Excel.

Šie priekšnosacījumi ir šādi:

1. solis. Atveriet Excel balstītu makro un piekļūstiet izstrādātāja opcijai Excel.

2. solis) Atlasiet Visual Basic opciju zem Izstrādātāja lentes.

3. solis) Ievietojiet jaunu moduli.

4. solis. Inicializējiet jaunu apakšprogrammu

Sub test()End sub

Moduļa rezultāts būtu šāds: -

5. solis. Piekļūstiet atsauces opcijai cilnē rīks un norādiet Microsoft HTML objektu bibliotēku un Microsoft interneta vadību.

Uz šiem failiem ir jāatsaucas uz moduli, jo tas palīdz atvērt Internet Explorer un atvieglo makro skriptu izstrādi.

Tagad Excel fails ir gatavs mijiedarbībai ar Internet Explorer. Nākamais solis būtu makro skriptu iekļaušana, kas atvieglotu datu nokasīšanu HTML.

Kā atvērt Internet Explorer, izmantojot Excel VBA?

1. solis. Inicializējiet mainīgo apakšprogrammās, kā parādīts zemāk

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

2. solis. Lai atvērtu Internet Explorer, izmantojot VBA, ierakstiet ie visible = true un nospiediet F5.

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

Modulis izskatīsies šādi: -

Kā atvērt vietni Internet Explorer, izmantojot VBA?

Šeit ir norādītas darbības, lai atvērtu vietni Internet exploer, izmantojot VBA

1. solis. Kad varēsiet piekļūt Internet Explorer, izmantojot Excel VBA, nākamais solis ietvers piekļuvi vietnei, izmantojot VBA. To veicina Navigēt atribūtā, kur vietrādim URL atribūtā ir jānorāda kā pēdiņas. Veiciet šādas darbības, kā parādīts.

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. solis) - nospiediet F5, lai izpildītu makro. Šī tīmekļa lapa tiks atvērta, kā parādīts

Tagad Excel makro ir gatavs attiecībā uz skrāpēšanas funkciju veikšanu. Nākamais solis parādīs, kā informāciju var iegūt no Internet Explorer, izmantojot VBA.

Kā nokasīt informāciju no vietnes, izmantojot VBA?

Pieņemsim, ka dienas tirgotājs vēlas piekļūt datiem no vietnes katru dienu. Katru dienu, kad tirgotājs nospiež pogu, tam automātiski jāiegūst tirgus dati Excel.

No iepriekš minētās vietnes būtu nepieciešams pārbaudīt kādu elementu un novērot datu struktūru.

1. solis. Piekļūstiet zemāk esošajam HTML avota kodam, nospiežot taustiņu kombināciju Control + Shift + I

Pirmkods būtu šāds: -

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

Kā redzams, dati ir strukturēti kā viena HTML tabula. Tāpēc, lai izvilktu visus datus no html tabulas, būtu jāveido makro, kas apkopo datus kolekcijas veidā.

Tad kolekcija tiktu ielīmēta Excel. Lai sasniegtu vēlamos rezultātus, veiciet tālāk minētās darbības: -

2. solis. Inicializējiet Html dokumentu apakšprogrammā

VBA modulis izskatīsies šādi: -

3. solis. Inicializējiet HTML dokumentā esošo kolekcijas elementu

VBA modulis izskatīsies šādi: -

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. solis. Inicializējiet Excel lapas šūnas, izmantojot ligzdotu cilpu, kā parādīts

VBA modulis izskatīsies šādi: -

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")

Excel var inicializēt, izmantojot Excel lapas diapazona atribūtu vai izmantojot Excel lapas šūnu atribūtu. Lai samazinātu VBA skripta sarežģītību, kolekcijas dati tiek inicializēti darbgrāmatā esošajā 1. lapas Excel šūnu atribūtā.

Kad makro skripts ir gatavs, pārejiet un piešķiriet apakšprogrammu Excel pogai un izejiet no VBA moduļa. Atzīmējiet pogu kā atsvaidzināšanu vai jebkuru citu piemērotu nosaukumu, ko tajā varētu inicializēt. Šajā piemērā poga tiek inicializēta kā atsvaidzināšana.

5. solis. Nospiediet atsvaidzināšanas pogu, lai iegūtu zemāk minēto produkciju

6. solis. Salīdziniet Excel rezultātus ar Internet Explorer rezultātiem

Kopsavilkums:

  • Datu nokasīšana ļauj lietotājam nokasīt tikai lietotāja vēlamo informāciju.
  • Skrāpēšanu var veikt, izmantojot Internet Explorer.
  • Notīrīšanas process ir lēnāks Internet Explorer gadījumā; tomēr tas nodrošina lietotājam vēlamos rezultātus.
  • Skrāpēšana jāveic ar absolūtu piesardzību un piesardzību, jo tā var sabojāt un avarēt sistēmai, kas tiek izmantota skrāpēšanai.
CompanyGroupPre Close (Rs)Current Price (Rs)% Change