Skrabning på nettet med VBA
Hvad er data Scraping?
data skrabning er den teknik, der hjælper i udvinding af ønskede oplysninger fra en HTML-side til en lokal fil til stede i din lokale maskine. Normalt kan en lokal fil svare til en Microsoft office-applikation. Det hjælper med at kanalisere kritisk information fra hjemmesiden.
dataskrabningen bliver enkel, når man arbejder på et forskningsbaseret projekt dagligt, og et sådant projekt er udelukkende afhængigt af internettet og hjemmesiden. For yderligere at illustrere om emnet, lad os tage eksemplet på en dagshandler, der kører en makro til at trække markedsoplysninger fra en finansside til et ark ved hjælp af VBA.
i denne tutorial vil du lære:
- Hvad er data Scraping?
- Sådan forbereder du Makro, før du udfører data skrabning ved hjælp af internetudforsker?
- Sådan åbner du Internetudforsker ved hjælp af VBA?
- Sådan åbner Du hjemmeside i internetudforsker ved hjælp af VBA?
- sådan skrabe oplysninger fra hjemmesiden ved hjælp af VBA?
Hvordan forbereder man Makro, før man udfører Dataskrabning ved hjælp af internetudforsker?
der er visse forudsætninger, der skal udføres på makrofilen, før du går ind i processen med at skrabe data.
disse forudsætninger er som følger: –
Trin 1) Åbn en makro, og få adgang til udviklerindstillingen.
Trin 2) Vælg Visual Basic mulighed under Developer ribbon.
Trin 3) Indsæt et nyt modul.
Trin 4) Initialiser en ny subrutine
Sub test()End sub
modulet ville resultere som følger: –
Trin 5) Få adgang til indstillingen reference under fanen Værktøj og reference Microsoft HTML Object Library og Microsoft internet control.
følgende filer skal henvises til modulet, da det hjælper med at åbne internetudforsker og letter udviklingen af makro scripting.
nu er filen klar til at interagere med internetudforskeren. Det næste trin ville være at inkorporere makroskripter, der letter skrabning af data i HTML.
Sådan åbner du Internetudforsker ved hjælp af VBA?
Trin 1) Initialiser variablen i underrutinerne som vist nedenfor
Sub test()Dim ie As New InternetExplorer Dim doc As New HTMLDocument
Trin 2) for at åbne internetudforsker ved hjælp af VBA, skriv dvs. synlig = sand og tryk på F5.
Sub test()Dim ie As New InternetExplorer Dim doc As New HTMLDocumentIe.visible=true
modulet ser ud som følger: –
Sådan åbner Du hjemmeside i internetudforsker ved hjælp af VBA?
her er trin til at åbne hjemmeside i Internetudvikler ved hjælp af VBA
Trin 1) når du er i stand til at få adgang til internetudforskeren ved hjælp af VBA, vil det næste trin inkorporere adgangen til en hjemmeside ved hjælp af VBA. Dette lettes af Naviger attribut, hvor URL ‘ en skal passere som dobbelt citater i attributten. Følg følgende trin som vist.
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
Trin 2) – Tryk på F5 for at udføre makroen. Følgende hjemmeside vil blive åbnet som vist
nu er makroen klar med hensyn til at udføre skrabefunktionerne. Det næste trin viser, hvordan oplysningerne kan udvindes fra internetudforsker ved hjælp af VBA.
sådan skrabe oplysninger fra hjemmesiden ved hjælp af VBA?
Antag, at daghandleren ønsker at få adgang til dataene fra hjemmesiden dagligt. Hver gang day trader trykker på klik på knappen, skal den automatisk trække markedsdataene til at udmærke sig.
fra ovenstående hjemmeside ville det være nødvendigt at inspicere et element og observere, hvordan dataene er struktureret.
Trin 1) Få adgang til nedenstående kildekode for HTML ved at trykke på control + Shift + I
<table class="datatable"><thead><tr><th>Company</th><th>Group</th><th>Pre Close (Rs)</th><th>Current Price (Rs)</th><th>% Change</th></tr>
kildekoden ville være som følger: –
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
som det kan ses, at dataene er struktureret som en enkelt HTML-tabel. Derfor, for at trække hele data fra html-tabellen, ville det kræve design af makro, som indsamler data i form af en samling.
samlingen vil derefter blive indsat. For at opnå de ønskede resultater udføre nedenstående trin: –
Trin 2) Initialiser Html-dokumentet i subrutinen
VBA-modulet ser ud som følger – –
Trin 3) Initialiser samlingselementet, der findes i HTML-dokumentet
VBA-modulet ser ud som følger: –
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")
Trin 4) Initialiser cellerne ved hjælp af indlejret sløjfe som vist
VBA-modulet ser ud som følger: –
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")
den kan initialiseres ved hjælp af områdeattributten for overskriftsarket eller attributten through cells for overskriftsarket. For at reducere kompleksiteten af VBA-scriptet initialiseres indsamlingsdataene til attributten ark 1, der findes i projektmappen.
når makroscriptet er klar, skal du videregive og tildele knappen subroutine til at udmærke sig og afslutte modulet til VBA. Mærk knappen som Opdater eller ethvert passende navn, der kan initialiseres til den. I dette eksempel initialiseres knappen som en opdatering.
Trin 5) Tryk på knappen Opdater for at få nedenstående output
Trin 6) sammenlign resultaterne i udmærke sig med resultaterne af internetudforsker
oversigt:
- data skrabning giver brugeren mulighed for at skrabe ud kun de oplysninger, som brugeren ønsker.
- skrabning kan udføres ved hjælp af internetudforsker.
- skrabeprocessen er langsommere i tilfælde af internetudforsker; det leverer dog de ønskede resultater til brugeren.
- skrabningen skal udføres med absolut forsigtighed og forsigtighed, da det kan skade og ødelægge det system, der bruges til skrabning.