VBA webkaparás | Hogyan lehet selejtezni a webhelyeket az Excel VBA használatával?

Excel VBA webkaparás

A VBA Web Scraping a weboldalak elérésének és az adott webhelyről származó adatok számítógépes fájljainkba való letöltésének technikája. A webes kaparás külső alkalmazások, például az Internet Explorer elérésével lehetséges. Kétféleképpen tehetjük meg: korai kötés és késői kötés.

A webes adatgyűjtés a VBA-val azt jelenti, hogy amikor a VBA-t használjuk az adatok lekérésére a web más forrásaiból, ehhez szükség lehet bejelentkezésre az adatforrásokhoz, de először ehhez engedélyeznünk kell a hivatkozásokat az a Microsoft HTML könyvtár VBA szerkesztője annak érdekében, hogy a VBA-ból hozzáférhessen az internethez.

Nem sokan tudjuk, hogy az excel segítségével elérhetjük a weboldalakat, és megszerezhetjük az ezekről a weboldalakról származó adatokat. Igen, jól hallottad. lapozhatjuk a weboldalakat, elérhetjük a böngésző alkalmazásokat és még sok minden mást. Ebben a cikkben megmutatjuk, hogyan kell részletesen írni egy excel VBA kódot a webes kaparáshoz.

Általában megnyitjuk a weboldalakat, átmásoljuk az adatokat, és beillesztjük a fájljainkba, például az Excel, a Word vagy más fájlokba. De ebben a cikkben megmutatjuk, hogyan lehet webhelyeket elérni az excel segítségével, és sok más dolgot csinálni.

Hogyan lehet selejtezni a webhely adatait a VBA használatával?

Itt töltheti le ezt a VBA Web Scraping Excel Template -t ​​- VBA Web Scraping Excel Template

Ha bármilyen más alkalmazást szeretnénk elérni az exceltől, akkor ezt megtehetjük például „Korai kötés” és „Késői kötés” módokon. A kezdő szakaszban mindig biztonságos az „Early Binding” technika alkalmazása.

A weboldal eléréséhez böngésző alkalmazásokra van szükségünk, például az „ Internet Explorer ” -re. Mivel ez egy külső objektum, először meg kell adnunk a referenciát.

Kövesse az alábbi lépéseket a webes selejtezéshez.

1. lépés: Határozza meg a VBA változót, és rendelje hozzá az adattípust „ Internet Explorer ” néven.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer, mint Internet End Sub 

Amint a fentiekből kiderül, amikor megpróbáljuk beállítani az Internet Explorer hivatkozását, nem látjuk az „Internet Explorer” -t, mert az „Internet Explorer” egy külső objektum, ezért meg kell adnunk a referenciát.

2. lépés: A referencia beállításához lépjen az „ Eszközökoldalra, és válassza a „ Referenciák ” lehetőséget.

Az alábbi ablakban görgessen lefelé, és válassza a „ Microsoft Internet Controls ” lehetőséget.

3. lépés: Jelölje be a „Microsoft Internet Controls” jelölőnégyzetet, és kattintson az OK gombra. Most ezt az objektumnevet kell látnunk az IntelliSense listában.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer As Inter End Sub 

4. lépés: Válassza az „InternetExplorer” lehetőséget.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer, mint InternetExplorer End Sub 

5. lépés: Ezután meg kell adnunk a referenciát az Internet Explorer engedélyezéséhez. Mivel ez egy objektumváltozó, a „ Set ” kulcsszót kell használnunk a referenciák megadásához.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer InternetExplorerként állítsa be Internet_Explorer = Új InternetExplorer End Sub 

6. lépés: Most az „ Internet_Explorer ” változóval használhatjuk az Internet Explorer tulajdonságait és módszereit.

Írja be a változó nevét, és tegyen egy pontot az IntelliSense lista megtekintéséhez.

Kód:

Sub Web_Scraping () Dim Internet_Explorer mint InternetExplorer Állítsa be az Internet_Explorer = Új InternetExplorer Internet_Explorer beállítást. End Sub

7. lépés: Az Internet Explorer alkalmazás megtekintéséhez ki kell választanunk a „ Látható ” tulajdonságot, és az „ Igaz ” állapotot kell beállítanunk .

Kód:

 Sub Web_Scraping () Dim Internet_Explorer InternetExplorerként állítsa be Internet_Explorer = Új InternetExplorer Internet_Explorer.Visible = True End Sub 

Most futtassa a kódot, és látnia kell, hogy megnyílik az Internet Explorer a számítógépén.

8. lépés: Mivel nem említettünk webcímet, csak egy üres oldalt láthatunk. Ahhoz, hogy a webcímet megadjuk az Internet Explorer számára, a „ Navigáció ” módszert kell használnunk.

Kód:

 Sub Web_Scraping () Dim Internet_Explorer InternetExplorerként állítsa be Internet_Explorer = Új InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub 

9. lépés: Amint a fenti „Navigáció” módszerből látható, megkérdezi, melyik URL-t kell navigálni az Internet Explorer programban. Most meg kell nyitnom a „ Wallstreetnmojo ” weboldalt, és az alábbiak szerint adhatom meg az URL-címet. „//Www.wallstreetmojo.com/”

Kód:

 Sub Web_Scraping () Dim Internet_Explorer, mint InternetExplorer Internet_Explorer beállítása 

Most futtassa a kódot, látnunk kell az említett webcímet az Internet Explorerben.

Itt van egy probléma, hogy amint megnyílik a weboldal, a kódunknak meg kell várnia, amíg az oldal teljesen megnyílik.

10. lépés: A VBA „Do While” ciklusát kell használnunk, hogy valóban megvárjuk, amíg a kód tovább megy, amíg az említett oldal teljesen be nem töltődik.

Tehát tegye a „Do While” hurok alá, hogy arra kényszerítse a makrót, hogy várja meg, amíg az említett weboldal „ Ready State Complete ” módba kerül.

Kód:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState  READYSTATE_COMPLETE: Loop End Sub 

Step 11: Now let’s try to get information about the website in a single line. To get the information about the mentioned web address information we need to use the “Location Name” property.

Code:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState  READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName End Sub 

Run the code and in the message box, we would get the information about the website.

Step 12: Now at the bottom, we can also print website addresses as well.

Code:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState  READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName & vbNewLine & vbNewLine & Internet_Explorer.LocationURL End Sub 

Now this will tell about the website description and also shows the website address as well.

Things to Remember here

  • Web scraping is possible by accessing external applications like Internet Explorer.
  • We can do it in two ways i.e. Early Binding & Late Binding. With Early Binding, we can get to see the IntelliSense list but with late binding, we cannot get to see the IntelliSense list at all.