Selen se može klasificirati kao alat za automatizaciju koji olakšava struganje podataka s HTML web stranica radi izvođenja mrežnih struganja koristeći google chrome.
U ovom vodiču naučit ćete:
Što je struganje podataka pomoću selena?
Kako pripremiti Excel Macro prije izvođenja struganja podataka pomoću selena?
Kako otvoriti Google Chrome pomoću VBA?
Kako otvoriti web stranicu u Google chromeu pomoću VBA?
Kako izvući podatke s web stranice pomoću VBA?
Kako pripremiti Excel Macro prije izvođenja struganja podataka pomoću selena?
Postoje određeni preduvjeti koje treba izvršiti na datoteci makronaredbi Excel prije nego što uđe u postupak struganja podataka u Excelu.
Ti su preduvjeti sljedeći: -
Korak 1) Otvorite makronaredbu zasnovanu na Excelu i pristupite razvojnoj opciji excel.
Korak 2) Odaberite opciju Visual Basic pod vrpcom programera.
Korak 3) Umetnite novi modul.
Korak 4) Inicijalizirajte novu potprogram i dajte joj naziv test2.
Podtest2 ()Kraj pod
Slijedili bi rezultati u modulu: -
Korak 5) Pristupite referentnoj opciji na kartici alata i referencirajte biblioteku tipa Selenium. Sljedeće biblioteke treba uputiti na modul jer pomaže u otvaranju google chrome i olakšava razvoj makro skriptiranja.
Sada je datoteka Excel spremna za interakciju s Internet Explorerom. Sljedeći koraci bili bi uključivanje makro skripte koja bi olakšala struganje podataka u HTML-u.
Kako otvoriti Google Chrome pomoću VBA?
Evo koraka za otvaranje Google Chromea pomoću VBA
Korak 1) Deklarirajte i inicijalizirajte varijable u potprogramu kako je prikazano u nastavku
Podtest2 ()Zatamnjeni upravljački program kao novi web pogoniteljZatamni rowc, cc, columnC kao cijeli broj
Korak 2) Da biste otvorili google chrome pomoću selena i VBA, napišite driver.start "chrome" i pritisnite F5 .
Sljedeći bi bio kod.
Podtest2 ()Zatamnjeni upravljački program kao novi web pogoniteljZatamni rowc, cc, columnC kao cijeli brojDriver.start "Chrome"Aplikacija. Pričekajte sada + vremenska vrijednost ("00:00:20")Kraj pod
Rezultat modula bio bi sljedeći: -
Kako otvoriti web stranicu u Google chromeu pomoću VBA?
Nakon što pristupite google chromeu pomoću VBA-a, sljedeći bi korak bio uključivanje pristupa web mjestu pomoću VBA-a. To je olakšano funkcijom get kod koje URL mora u atributu prolaziti kao dvostruki navodnici.
Slijedite sljedeće korake kako je prikazano
Modul bi izgledao kako slijedi: -
Pritisnite F5 za izvršavanje makronaredbe.
Sljedeća web stranica otvorila bi se u google chrome kako je prikazano
Podtest2 ()Zatamnjeni upravljački program kao novi web pogoniteljZatamni rowc, cc, columnC kao cijeli brojDriver.start "Chrome"Driver.get "http://demo.guru99.com/test/web-table-element.php"Aplikacija. Pričekajte sada + vremenska vrijednost ("00:00:20")Kraj pod
Sada je makronaredba Excel spremna za izvršavanje zadataka struganja. Sljedeći korak bi prikazao kako se informacije mogu izvući primjenom selena i VBA.
Kako izvući podatke s web stranice pomoću VBA?
Pretpostavimo da trgovac danima želi svakodnevno pristupiti podacima s web mjesta. Svaki put kad trgovac na dan pritisne gumb, trebao bi automatski povući tržišne podatke u excel.
Na gore navedenom web mjestu bilo bi potrebno pregledati element i promatrati kako su podaci strukturirani. Pristupite donjem izvornom kodu HTML-a pritiskom na control + Shift + I
Tvrtka
Grupa
Pre Close (Rs)
Trenutna cijena (kn)
% promjene
Izvorni kod bi bio sljedeći:
Kao što se može vidjeti da su podaci strukturirani kao jedna HTML tablica. Stoga, da bi se izvukli cjelokupni podaci iz HTML tablice, bilo bi potrebno dizajniranje makronaredbe koja povlači informacije zaglavlja HTML tablice i odgovarajuće podatke povezane s tablicom. Izvršite sljedeće zadatke kako je prikazano: -
Korak 1) Formulirajte for petlju koja prolazi kroz informacije o HTML zaglavlju kao zbirka. Pokretač selena mora pronaći informacije o zaglavlju HTML tablice. Da bismo to učinili, koristimo metodu FindElementByClass () i FindElementByTag () za izvršavanje zadatka kako je prikazano
VBA modul izgledao bi na sljedeći način: -
Podtest2 ()Zatamnjeni upravljački program kao novi WebDriverZatamni rowc, cc, columnC Kao cijeli brojrowc = 2Application.ScreenUpdating = Netačnovozač.Pokrenite "krom"driver.Get "http://demo.guru99.com/test/web-table-element.php"Za svaki th u vozaču.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Za svaku t u th.FindElementsByTag ("th")List2.Čelije (1, cc) .Vrijednost = t.Textcc = cc + 1Sljedeće tSljedeće
Korak 2) Zatim bi pokretač selena locirao podatke tablice koristeći sličan pristup, kao što je gore spomenuto. Morate napisati sljedeći kod: -
Podtest2 ()Zatamnjeni upravljački program kao novi WebDriverZatamni rowc, cc, columnC Kao cijeli brojrowc = 2Application.ScreenUpdating = Netačnovozač.Pokrenite "krom"driver.Get "http://demo.guru99.com/test/web-table-element.php"Za svaki th u vozaču.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Za svaku t u th.FindElementsByTag ("th")List2.Čelije (1, cc) .Vrijednost = t.Textcc = cc + 1Sljedeće tSljedećeZa svaki tr In vozač.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")stupacC = 1Za svaki td u tr.FindElementsByTag ("td")List2.Cells (rowc, columnC) .Value = td.TextstupacC = stupacC + 1Sljedeći tdrowc = rowc + 1Sljedeća trApplication.Wait Now + TimeValue ("00:00:20")Kraj pod
VBA modul izgledao bi na sljedeći način: -
Excel se može inicijalizirati pomoću atributa Range na excel listu ili kroz atribut ćelija na excel listu. Da bi se smanjila složenost VBA skripte, podaci o zbirci inicijaliziraju se u atribut excel ćelija lista 2 prisutan u radnoj knjizi. Nadalje, atribut teksta pomaže u dobivanju tekstualnih podataka smještenih pod HTML oznaku.
Podtest2 ()Zatamnjeni upravljački program kao novi WebDriverZatamni rowc, cc, columnC Kao cijeli brojrowc = 2Application.ScreenUpdating = Netačnovozač.Pokrenite "krom"driver.Get "http://demo.guru99.com/test/web-table-element.php"Za svaki th u vozaču.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Za svaku t u th.FindElementsByTag ("th")List2.Čelije (1, cc) .Vrijednost = t.Textcc = cc + 1Sljedeće tSljedećeZa svaki tr In vozač.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")stupacC = 1Za svaki td u tr.FindElementsByTag ("td")List2.Cells (rowc, columnC) .Value = td.TextstupacC = stupacC + 1Sljedeći tdrowc = rowc + 1Sljedeća trApplication.Wait Now + TimeValue ("00:00:20")Kraj pod
VBA modul izgledao bi na sljedeći način: -
Korak 3) Kad makro skripta bude spremna, dodajte i dodijelite potprogram excel gumbu i izađite iz modula VBA. Označite gumb kao osvježavanje ili bilo koje prikladno ime koje bi se moglo inicijalizirati. U ovom je primjeru gumb inicijaliziran kao osvježavanje.
Korak 4) Pritisnite gumb za osvježavanje da biste dobili dolje spomenuti izlaz
Korak 5) Usporedite rezultate u Excelu s rezultatima google chrome
Sažetak:
Selen se može klasificirati kao alat za automatizaciju koji olakšava struganje podataka s HTML web stranica radi izvođenja mrežnih struganja koristeći google chrome.
Struganje na internetu treba pažljivo izvoditi.
Izbacivanje podataka obično je u suprotnosti s uvjetima web stranice.
Kada se struganje vrši kroz selen, tada nudi podršku za više preglednika.
Drugim riječima, strugač može obavljati slične zadatke struganja kroz Firefox, Internet Explorer.