Az Excel VBA és a szelén használata

Tartalomjegyzék:

Anonim

Mi az adatkaparás szelén alkalmazásával?

A szelén besorolható az automatizálási eszköz közé, amely megkönnyíti az információk lekaparását a HTML weboldalakról a webes kaparás elvégzéséhez a google chrome használatával.

Ebben az oktatóanyagban megtudhatja:

  • Mi az adatkaparás szelén alkalmazásával?
  • Hogyan készítsük el az Excel makrót, mielőtt az adatgyűjtést elvégeznénk a szelén használatával?
  • Hogyan nyitható meg a Google Chrome a VBA segítségével?
  • Hogyan nyitható meg weboldal a Google Chrome-ban a VBA használatával?
  • Hogyan lehet információkat kaparni a weboldalról a VBA használatával?

Hogyan készítsük el az Excel makrót, mielőtt az adatgyűjtést elvégeznénk a szelén használatával?

Bizonyos előfeltételeket kell teljesíteni az excel makrófájlon, mielőtt belevágnánk az excel adatainak lekérdezésébe.

Ezek az előfeltételek a következők:

1. lépés: Nyisson meg egy Excel-alapú makrót, és nyissa meg az excel fejlesztői opcióját.

2. lépés: Válassza a Visual Basic lehetőséget a Fejlesztői szalag alatt.

3. lépés: Helyezzen be egy új modult.

4. lépés: Inicializálja az új alprogramot, és nevezze el teszt2 néven.

2. teszt ()Vége al

A modul eredményei a következők: -

5. lépés: Nyissa meg a referencia opciót az eszköz fül alatt, és hivatkozjon a Selenium típusú könyvtárra. A következő könyvtárakra kell hivatkozni a modulra, mivel ez segíti a google chrome megnyitását és megkönnyíti a makró szkriptek fejlesztését.

Most az Excel fájl készen áll az Internet Explorer használatára. A következő lépések egy makroszkript beépítése lenne, amely megkönnyítené az adatok HTML-be való lekaparását.

Hogyan nyitható meg a Google Chrome a VBA segítségével?

Itt van a lépés a Google Chrome VBA használatával történő megnyitásához

1. lépés: Nyújtsa be és inicializálja a változókat az alprogramban az alábbiak szerint

2. teszt ()Dim driver mint új webdriverTompítsa a rowc, cc, C oszlopot egész számként

2. lépés: A Google Chrome megnyitásához a szelén és a VBA használatával írja be: driver.start "chrome", és nyomja meg az F5 billentyűt .

A következő lenne a kód.

2. teszt ()Dim driver mint új webdriverTompítsa a rowc, cc, C oszlopot egész számkéntDriver.start "Chrome"Application.Wait Now + Timevalue ("00:00:20")Vége al

A modul a következőket eredményezné: -

Hogyan nyitható meg weboldal a Google Chrome-ban a VBA használatával?

Miután hozzáférhet a google chrome-hoz a VBA használatával, a következő lépés az lenne, ha beépítené egy weboldal VBA használatát. Ezt megkönnyíti a get függvény, ahol az URL-nek dupla idézőjelként kell átadnia az attribútumot.

Kövesse a következő lépéseket a megjelenítéskor

A modul a következőképpen néz ki: -

Nyomja meg az F5 billentyűt a makró végrehajtásához.

A következő weboldal megjelenik a google chrome-ban

2. teszt ()Dim driver mint új webdriverTompítsa a rowc, cc, C oszlopot egész számkéntDriver.start "Chrome"Driver.get "http://demo.guru99.com/test/web-table-element.php"Application.Wait Now + Timevalue ("00:00:20")Vége al

Most az excel makró készen áll a kaparási feladatok végrehajtására. A következő lépés megmutatja, hogyan lehet kinyerni az információt a szelén és a VBA alkalmazásával.

Hogyan lehet információkat kaparni a weboldalról a VBA használatával?

Tegyük fel, hogy a napi kereskedő naponta szeretne hozzáférni a weboldal adataihoz. Minden alkalommal, amikor a kereskedő megnyomja a gombra való kattintást, automatikusan be kell húznia a piaci adatokat az excelbe.

A fenti weboldalról szükség lenne egy elem megvizsgálására és az adatok felépítésének megfigyelésére. A Control + Shift + I billentyűkombinációval érheti el az alábbi HTML forráskódot


A forráskód a következő lenne: -

Mint látható, hogy az adatok egyetlen HTML táblaként vannak felépítve. Ezért ahhoz, hogy teljes adatokat lehessen kinyerni a HTML-táblából, meg kell tervezni egy makrót, amely a HTML-tábla fejléc-információit és a táblához társított megfelelő adatokat húzza ki. Végezze el a következő feladatokat a megjelenítés szerint: -

1. lépés: Formázzon egy for ciklust, amely gyűjteményként fut át ​​a HTML fejléc információin. A szelén illesztőprogramnak meg kell találnia a HTML tábla fejléc információit. Ehhez a FindElementByClass () és a FindElementByTag () metódust alkalmazzuk a feladat megjelenítéséhez

A VBA modul a következőképpen néz ki: -

2. teszt ()Dim illesztőprogram, mint új WebDriverTompítsa a rowc, cc, C oszlopot egész számkéntrowc = 2Application.ScreenUpdating = Hamisdriver.Start "chrome" indításadriver.Get "http://demo.guru99.com/test/web-table-element.php"Minden egyes meghajtóhoz.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Minden egyes t-ben TalálatokByTag ("th")Sheet2.Cells (1, cc). Érték = t.Textcc = cc + 1Következő tKövetkező th

2. lépés) Ezután a szelén-meghajtó a fenti adatok alapján hasonló megközelítéssel keresse meg a táblázat adatait. A következő kódot kell megírnia: -

2. teszt ()Dim illesztőprogram, mint új WebDriverTompítsa a rowc, cc, C oszlopot egész számkéntrowc = 2Application.ScreenUpdating = Hamisdriver.Start "chrome" indításadriver.Get "http://demo.guru99.com/test/web-table-element.php"Minden egyes meghajtóhoz.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Minden egyes t-ben TalálatokByTag ("th")Sheet2.Cells (1, cc). Érték = t.Textcc = cc + 1Következő tKövetkező thMinden tr In meghajtóhoz.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")oszlopC = 1Minden td esetén a tr.FindElementsByTag ("td")Sheet2.Cells (rowc, C oszlop). Érték = td.TextoszlopC = oszlopC + 1Következő tdrowc = rowc + 1Következő trApplication.Wait Now + TimeValue ("00:00:20")End Sub

A vba modul a következőképpen néz ki: -

Az excel inicializálható az excel lap Range attribútumával vagy az excel cell cellák attribútumával. A VBA szkript bonyolultságának csökkentése érdekében a gyűjtési adatokat a munkafüzetben található 2. lap excel cellák attribútumához inicializáljuk. Ezenkívül a text attribútum segít abban, hogy a szöveges információk a HTML címkék alá kerüljenek.

2. teszt ()Dim illesztőprogram, mint új WebDriverTompítsa a rowc, cc, C oszlopot egész számkéntrowc = 2Application.ScreenUpdating = Hamisdriver.Start "chrome" indításadriver.Get "http://demo.guru99.com/test/web-table-element.php"Minden egyes meghajtóhoz.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Minden egyes t-ben TalálatokByTag ("th")Sheet2.Cells (1, cc). Érték = t.Textcc = cc + 1Következő tKövetkező thMinden tr In meghajtóhoz.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")oszlopC = 1Minden td esetén a tr.FindElementsByTag ("td")Sheet2.Cells (rowc, C oszlop). Érték = td.TextoszlopC = oszlopC + 1Következő tdrowc = rowc + 1Következő trApplication.Wait Now + TimeValue ("00:00:20")End Sub

A vba modul a következőképpen néz ki: -

3. lépés: Miután elkészült a makró szkript, adja át és rendelje hozzá az alprogramot az Excel gombhoz, és lépjen ki a VBA modulból. Jelölje meg a gombot frissítésként vagy bármilyen megfelelő névként, amelyet inicializálni lehetne. Ebben a példában a gombot inicializáljuk frissítésként.

4. lépés: Nyomja meg a Frissítés gombot az alább említett kimenet megszerzéséhez

5. lépés: Hasonlítsa össze az excel eredményeit a google chrome eredményeivel

Összegzés:

  • A szelén besorolható az automatizálási eszköz közé, amely megkönnyíti az információk lekaparását a HTML weboldalakról a webes kaparás elvégzéséhez a google chrome használatával.
  • Az interneten történő kaparást gondosan kell végrehajtani.
  • Rendszerint a weboldal feltételeivel ellentétes az információk kikészítése.
  • Ha a kaparás szelénen keresztül történik, akkor több böngésző támogatást kínál.
  • Más szavakkal, a lehúzó hasonló feladatokat tud végrehajtani, mint a Firefox, az Internet Explorer böngészése.
Társaság csoport Előzárás (Rs) Jelenlegi ára (Rs) % változás