Selén možno klasifikovať ako automatizačný nástroj, ktorý uľahčuje škrabanie informácií z webových stránok HTML na vykonávanie škrabania webu pomocou google chrome.
V tomto návode sa dozviete:
Čo je to scraping dát pomocou selénu?
Ako pripraviť makro programu Excel pred vykonaním škrabania údajov pomocou selénu?
Ako otvoriť Google Chrome pomocou VBA?
Ako otvoriť web v prehliadači Google Chrome pomocou VBA?
Ako škrabať informácie z webových stránok pomocou VBA?
Ako pripraviť makro programu Excel pred vykonaním škrabania údajov pomocou selénu?
Existujú určité predpoklady, ktoré je potrebné vykonať v súbore makier programu Excel predtým, ako sa dostanete do procesu škrabania údajov v programe Excel.
Ide o tieto predpoklady: -
Krok 1) Otvorte makro založené na programe Excel a sprístupnite vývojársku možnosť programu Excel.
Krok 2) Na páske s nástrojmi pre vývojárov vyberte možnosť Visual Basic.
Krok 3) Vložte nový modul.
Krok 4) Inicializujte nový podprogram a pomenujte ho ako test2.
Čiastkový test2 ()Koniec pod
Nasledujúce by boli výsledky v module: -
Krok 5) Prístup na voľbu odkazu na karte nástrojov a odkaz na knižnicu typov selénu. Nasledujúce knižnice majú odkazovať na modul, pretože pomáha pri otváraní google chrome a uľahčuje vývoj makroskriptovania.
Teraz je súbor programu Excel pripravený na interakciu s internetovým prehliadačom. Ďalším krokom by bolo začlenenie makropriptu, ktorý by uľahčil škrabanie údajov v HTML.
Ako otvoriť Google Chrome pomocou VBA?
Tu je krok k otvoreniu prehliadača Google Chrome pomocou VBA
Krok 1) Deklarujte a inicializujte premenné v podprograme, ako je zobrazené nižšie
Čiastkový test2 ()Stmaviť ovládač ako nový webdriverStlmiť riadok, kópiu, stĺpec C ako celé číslo
Krok 2) Ak chcete otvoriť google chrome pomocou selénu a VBA, napíšte driver.start „chrome“ a stlačte kláves F5 .
Toto by bol kód.
Čiastkový test2 ()Stmaviť ovládač ako nový webdriverStlmiť riadok, kópiu, stĺpec C ako celé čísloDriver.start "Chrome"Application.Wait Now + Timevalue ("00:00:20")Koniec pod
Výsledkom modulu by bolo toto: -
Ako otvoriť web v prehliadači Google Chrome pomocou VBA?
Akonáhle budete mať prístup k prehliadaču Google Chrome pomocou VBA, ďalším krokom bude začlenenie prístupu na webovú stránku pomocou VBA. Toto je uľahčené funkciou get, kde musí byť adresa URL v atribúte odovzdaná ako dvojité úvodzovky.
Podľa zobrazených pokynov postupujte podľa nasledujúcich pokynov
Modul by vyzeral takto: -
Stlačením klávesu F5 vykonáte makro.
Nasledujúca webová stránka by sa otvorila v prehliadači Google Chrome ako je zobrazené
Čiastkový test2 ()Stmaviť ovládač ako nový webdriverStlmiť riadok, kópiu, stĺpec C ako celé čísloDriver.start "Chrome"Driver.get "http://demo.guru99.com/test/web-table-element.php"Application.Wait Now + Timevalue ("00:00:20")Koniec pod
Teraz je makro programu Excel pripravené na vykonávanie úloh zoškrabávania. V ďalšom kroku by sa zobrazilo, ako je možné informácie extrahovať použitím selénu a VBA.
Ako škrabať informácie z webových stránok pomocou VBA?
Predpokladajme, že denný obchodník chce mať každodenný prístup k údajom z webovej stránky. Zakaždým, keď obchodník stlačí kliknutie na tlačidlo, malo by automaticky natiahnuť údaje o trhu do excelu.
Z vyššie uvedenej webovej stránky by bolo potrebné skontrolovať prvok a sledovať, ako sú údaje štruktúrované. Do nižšie uvedeného zdrojového kódu HTML sa dostanete stlačením kombinácie klávesov Control + Shift + I
Spoločnosť
Skupina
Pre Close (Rs)
Aktuálna cena (Rs)
% zmena
Zdrojový kód by bol tento: -
Je zrejmé, že údaje sú štruktúrované ako jedna tabuľka HTML. Preto, aby bolo možné načítať celé údaje z tabuľky HTML, bolo by potrebné navrhnúť makro, ktoré stiahne informácie z hlavičky tabuľky HTML a zodpovedajúce údaje spojené s tabuľkou. Vykonajte tieto zobrazené úlohy: -
Krok 1) Vytvorte slučku for, ktorá prechádza informáciami hlavičky HTML ako kolekcia. Ovládač selénu musí nájsť informácie o hlavičke tabuľky HTML. Aby sme to dosiahli, využívame na vykonanie úlohy tak, ako je zobrazené, metódu FindElementByClass () a FindElementByTag ().
Modul VBA by vyzeral takto: -
Čiastkový test2 ()Stmaviť ovládač ako nový ovládač WebDriverDim rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Falsevodič.Startujte „chrómom“vodič. Získajte „http://demo.guru99.com/test/web-table-element.php“Pre každé th v driver.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Pre každé t v th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1Nasledujúce TĎalšia č
Krok 2) Ďalej by selénový ovládač vyhľadal údaje z tabuľky pomocou podobného prístupu, ako je uvedené vyššie. Musíte napísať nasledujúci kód: -
Čiastkový test2 ()Stmaviť ovládač ako nový ovládač WebDriverDim rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Falsevodič.Startujte „chrómom“vodič. Získajte „http://demo.guru99.com/test/web-table-element.php“Pre každé th v driver.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Pre každé t v th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1Nasledujúce TĎalšia čPre každý ovládač tr. Driver.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")stĺpec C = 1Pre každý td v tr.FindElementsByTag ("td")Sheet2.Cells (rowc, columnC). Value = td.Textstĺpec C = stĺpec C + 1Ďalšie tdriadok = riadok + 1Ďalej trApplication.Wait Now + TimeValue ("00:00:20")Koniec Sub
Modul vba bude vyzerať nasledovne: -
Program Excel je možné inicializovať pomocou atribútu Range v hárku programu Excel alebo pomocou atribútov buniek v hárku programu Excel. Na zníženie zložitosti skriptu VBA sa údaje o zhromažďovaní inicializujú na atribút buniek programu Excel v hárku 2, ktorý sa nachádza v zošite. Atribút text ďalej pomáha pri získavaní textových informácií umiestnených pod značkou HTML.
Čiastkový test2 ()Stmaviť ovládač ako nový ovládač WebDriverDim rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Falsevodič.Startujte „chrómom“vodič. Získajte „http://demo.guru99.com/test/web-table-element.php“Pre každé th v driver.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Pre každé t v th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1Nasledujúce TĎalšia čPre každý ovládač tr. Driver.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")stĺpec C = 1Pre každý td v tr.FindElementsByTag ("td")Sheet2.Cells (rowc, columnC). Value = td.Textstĺpec C = stĺpec C + 1Ďalšie tdriadok = riadok + 1Ďalej trApplication.Wait Now + TimeValue ("00:00:20")Koniec Sub
Modul vba bude vyzerať nasledovne: -
Krok 3) Keď je skript makra pripravený, odovzdajte a priraďte podprogram k tlačidlu Excel a ukončite modul VBA. Označte tlačidlo ako obnovovacie alebo akýkoľvek vhodný názov, ktorý by sa dalo inicializovať. V tomto príklade je tlačidlo inicializované ako obnovovacie.
Krok 4) Stlačením tlačidla obnovenia získate nižšie uvedený výstup
Krok 5) Porovnajte výsledky v programe Excel s výsledkami google chrome
Zhrnutie:
Selén možno klasifikovať ako automatizačný nástroj, ktorý uľahčuje škrabanie informácií z webových stránok HTML na vykonávanie škrabania webu pomocou google chrome.
Škrabanie na internete by sa malo vykonávať opatrne.
Šírenie informácií je obvykle v rozpore s podmienkami webovej stránky.
Keď sa scraping vykonáva prostredníctvom selénu, ponúka to podporu viacerých prehľadávačov.
Inými slovami, škrabka môže vykonávať podobné úlohy pri škrabaní aj cez Firefox, internetový prieskumník.