Seleeni võib liigitada automatiseerimistööriistaks, mis hõlbustab HTML-i veebilehtedelt teabe kraapimist, et veebi kraapida google chrome'i abil.
Selles õpetuses saate teada:
Mis on andmete kraapimine seleeni abil?
Kuidas Exceli makrot enne seleeni abil andmete kraapimist ette valmistada?
Kuidas avada Google Chrome VBA abil?
Kuidas avada veebisait Google Chrome'is, kasutades VBA-d?
Kuidas VBA abil veebisaidilt teavet kraapida?
Kuidas Exceli makrot enne seleeni abil andmete kraapimist ette valmistada?
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 ja nimetage see test2-ks.
2. alamtest ()Lõpeta alamrühm
Järgmised oleksid mooduli tulemused: -
Samm 5) Juurdepääs tööriista vahekaardil olevale viitevalikule ja viide seleenitüübi teegile Moodulile tuleb viidata järgmistele teekidele, kuna see aitab avada Google Chrome'i ja hõlbustab makroskriptide väljatöötamist.
Nüüd on Exceli fail Internet Exploreriga suhtlemiseks valmis. Järgmised sammud on lisada makrokript, mis hõlbustaks HTML-is andmete kraapimist.
Kuidas avada Google Chrome VBA abil?
Siin on samm Google Chrome'i avamiseks VBA abil
1. samm. Deklareerige ja initsialiseerige alamprogrammi muutujad, nagu allpool näidatud
Kuidas avada veebisait Google Chrome'is, kasutades VBA-d?
Kui teil on VBA abil juurdepääs google Chrome'i, oleks järgmine samm lisada veebisaidile juurdepääs VBA abil. Seda hõlbustab funktsioon get, kus URL peab atribuudis olema topelt jutumärkides.
Järgige kuvatavaid samme
Moodul näeks välja järgmine: -
Makro käivitamiseks vajutage klahvi F5.
Järgmine veebileht avatakse kuvatuna Google Chrome'is
Nüüd on Exceli makro kraapimisülesannete täitmiseks valmis. Järgmine samm näitab, kuidas teavet seleeni ja VBA abil saab eraldada.
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. Juurdepääsuks allpool olevale HTML-i lähtekoodile, vajutades klahve Ctrl + Tõst + I
Ettevõte
Grupp
Eelsulgemine (Rs)
Praegune hind (Rs)
% muutus
Lähtekood oleks järgmine: -
Nagu on näha, et andmed on üles ehitatud ühe HTML-tabelina. Seetõttu nõuab HTML-tabelist kogu andmete väljavõtmiseks makro kujundamine, mis tõmbab HTML-tabeli päiseteabe ja vastavad tabeliga seotud andmed. Tehke järgmised ülesanded kuvatud viisil: -
Samm 1) Sõnastage tsükkel for for loop, mis läbib kogu HTML-i päise teavet. Seleenidraiver peab leidma HTML-tabeli päiseinfo. Selleks kasutame kuvatava ülesande täitmiseks meetodeid FindElementByClass () ja FindElementByTag ().
VBA moodul näeks välja järgmine: -
2. alamtest ()Hämar draiver uue veebidraiverinaHämardage rida cc, veerg C täisarvunarowc = 2Application.ScreenUpdating = Valedraiver. Käivitage "kroom"draiver. Hangi "http://demo.guru99.com/test/web-table-element.php"Iga draiveri jaoks.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Iga t kohta Th.FindElementsByTag ("th")Leht 2. Rakud (1, cc). Väärtus = t. Tekstcc = cc + 1Järgmine tJärgmine th
Samm 2) Järgmisena määrab seleenidraiver tabeli andmed ülaltoodud sarnase lähenemisviisi abil. Peate kirjutama järgmise koodi: -
2. alamtest ()Hämar draiver uue veebidraiverinaHämardage rida cc, veerg C täisarvunarowc = 2Application.ScreenUpdating = Valedraiver. Käivitage "kroom"draiver. Hangi "http://demo.guru99.com/test/web-table-element.php"Iga draiveri jaoks.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Iga t kohta Th.FindElementsByTag ("th")Leht 2. Rakud (1, cc). Väärtus = t. Tekstcc = cc + 1Järgmine tJärgmine thIga tr jaoks draiveris.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")veerg C = 1Iga td kohta jaotises tr.FindElementsByTag ("td")Leht 2. Lahtrid (rowc, veerg C). Väärtus = td. Tekstveerg C = veerg C + 1Järgmine tdrowc = rowc + 1Järgmine trTaotlus. Oodake nüüd + TimeValue ("00:00:20")Lõpeta alam
VBA moodul näeks välja järgmine: -
Exceli saab initsialiseerida Exceli lehe atribuudi Range või Exceli lehe lahtrite atribuudi abil. VBA skripti keerukuse vähendamiseks lähtestatakse koguandmed töövihikus oleva lehe 2 Exceli lahtrite atribuudile. Lisaks aitab tekstiatribuut saada tekstiteavet HTML-sildi alla.
2. alamtest ()Hämar draiver uue veebidraiverinaHämardage rida cc, veerg C täisarvunarowc = 2Application.ScreenUpdating = Valedraiver. Käivitage "kroom"draiver. Hangi "http://demo.guru99.com/test/web-table-element.php"Iga draiveri jaoks.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Iga t kohta Th.FindElementsByTag ("th")Leht 2. Rakud (1, cc). Väärtus = t. Tekstcc = cc + 1Järgmine tJärgmine thIga tr jaoks draiveris.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")veerg C = 1Iga td kohta jaotises tr.FindElementsByTag ("td")Leht 2. Lahtrid (rowc, veerg C). Väärtus = td. Tekstveerg C = veerg C + 1Järgmine tdrowc = rowc + 1Järgmine trTaotlus. Oodake nüüd + TimeValue ("00:00:20")Lõpeta alam
VBA moodul näeks välja järgmine: -
Samm 3) 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 4) Allpool nimetatud väljundi saamiseks vajutage värskendusnuppu
5. samm. Võrrelge Exceli tulemusi Google Chrome'i tulemustega
Kokkuvõte:
Seleeni võib liigitada automatiseerimistööriistaks, mis hõlbustab HTML-i veebilehtedelt teabe kraapimist, et veebi kraapida google chrome'i abil.
Internetis tuleb kraapimist hoolikalt läbi viia.
Informatsiooni välja kraapimine on tavaliselt veebisaidi tingimuste vastane.
Kui kraapimine toimub läbi seleeni, pakub see mitut brauserituge.
Teisisõnu võib kaabits täita sarnaseid ülesandeid, nagu ka Internet Exploreri Firefoxi kraapimine.