VBA Web Scraping | Paano i-scrap ang mga Website gamit ang Excel VBA?

Excel VBA Web Scraping

VBA Web Scraping ay isang pamamaraan ng pag-access sa mga web page at pag-download ng data mula sa website na iyon patungo sa aming mga file sa computer. Posible ang web scraping sa pamamagitan ng pag-access sa mga panlabas na application tulad ng Internet Explorer. Maaari nating gawin ito sa dalawang paraan ibig sabihin, Maagang Binding & Late Binding.

Ang Web Scraping na may VBA ay nangangahulugang ginagamit namin ang VBA upang makuha ang data mula sa iba pang mga mapagkukunan sa web, maaaring mangailangan ito ng mga pag-login para sa mga mapagkukunan ng data, ngunit una, upang magawa ito, kailangan naming paganahin ang mga sanggunian mula sa seksyon ng mga tool sa ang VBA editor para sa Microsoft HTML library upang ma-access ang web mula sa VBA.

Hindi alam sa marami sa atin na mula sa excel maaari nating ma-access ang mga web page at makuha ang data mula sa mga web page na iyon. Oo, narinig mo ito ng tama. maaari kaming mag-scrape sa pamamagitan ng mga web page, ma-access ang mga application sa pag-browse, at marami pa. Sa artikulong ito, ipapakita namin sa iyo kung paano magsulat ng isang excel VBA code para sa detalye ng pag-scrap ng web.

Karaniwan, binubuksan namin ang mga web page, kinopya ang data, at i-paste ito sa aming mga file tulad ng excel, salita, o ilang iba pang mga file. Ngunit sa artikulong ito, ipapakita namin sa iyo kung paano mag-access sa mga website mula sa excel at gumawa ng maraming iba pang mga uri ng bagay.

Paano i-scrap ang Data ng Website gamit ang VBA?

Maaari mong i-download ang VBA Web Scraping Excel Template dito - VBA Web Scraping Excel Template

Kung nais naming ma-access ang anumang iba pang mga application mula sa excel maaari naming gawin ito sa mga paraan na ibig sabihin ay "Maagang Pagbubuklod" at "Late Binding". Sa yugto ng nagsisimula, laging ligtas na gamitin ang diskarteng "Maagang Binding".

Upang ma-access ang website kailangan namin ng pag-browse ng mga application, halimbawa, "Internet Explorer". Dahil ito ay isang panlabas na bagay kailangan naming itakda muna ang sanggunian.

Sundin ang mga hakbang sa ibaba sa web scrap.

Hakbang 1: Tukuyin ang variable ng VBA at italaga ang uri ng data bilang "Internet Explorer”.

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang internet End Sub 

Tulad ng nakikita mo sa itaas kapag sinubukan naming itakda ang sanggunian sa Internet Explorer hindi namin nakikita ang "Internet Explorer", ito ay dahil ang "Internet Explorer" ay isang panlabas na bagay kaya kailangan naming itakda ang sanggunian.

Hakbang 2: Upang maitakda ang sanggunian, pumunta sa “Mga kasangkapan”At piliin ang“Mga Sanggunian”.

Sa window sa ibaba mag-scroll pababa at piliin ang "Mga Kontrol sa Microsoft Internet”.

Hakbang 3: Lagyan ng tsek ang kahon ng "Mga Kontrol sa Microsoft Internet" at mag-click sa Ok. Ngayon ay dapat nating makita ang pangalan ng bagay na ito sa listahan ng IntelliSense.

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang inter End Sub 

Hakbang 4: Piliin ang "InternetExplorer".

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer End Sub 

Hakbang 5: Susunod, kailangan naming itakda ang sanggunian upang paganahin ang Internet Explorer. Dahil ito ay isang variable ng bagay kailangan nating gamitin ang "Itakda”Keyword upang maitakda ang mga sanggunian.

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer Itakda ang Internet_Explorer = Bagong InternetExplorer End Sub 

Hakbang 6: Ginagamit na ngayon ang variable na "Internet_Explorer”Maaari nating gamitin ang mga katangian at pamamaraan ng internet explorer.

Ipasok ang variable na pangalan at maglagay ng isang tuldok upang makita ang listahan ng IntelliSense.

Code:

Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer Itakda ang Internet_Explorer = Bagong InternetExplorer Internet_Explorer. Wakas Sub

Hakbang 7: Ngayon upang matingnan ang application ng explorer sa internet, kailangan nating pumili ng "Nakikita”Pag-aari at itakda ang katayuan bilang“Totoo”.

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer Itakda ang Internet_Explorer = Bagong InternetExplorer Internet_Explorer.Visible = True End Sub 

Patakbuhin ngayon ang code at dapat mong makita ang isang Internet Explorer bubukas sa iyong computer.

Hakbang 8: Dahil walang nabanggit na web address na blangkong pahina lamang ang makikita natin. Upang maibigay ang web address sa explorer sa internet kailangan nating “Nabigasyon”Paraan.

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer Itakda ang Internet_Explorer = Bagong InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub 

Hakbang 9: Tulad ng nakikita mo sa itaas na pamamaraan ng "Pag-navigate" na nagtatanong kung aling URL ang mai-navigate sa internet explorer. Ngayon kailangan kong buksan ang website na "Wallstreetnmojo”At maibibigay ko ang URL address tulad ng sumusunod. “//Www.wallstreetmojo.com/”

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer Itakda ang Internet_Explorer = Bagong InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") End Sub 

Patakbuhin ngayon ang code, dapat nating makita ang nabanggit na web address page sa internet explorer.

Narito mayroon kaming isang problema na sa sandaling mabuksan ang web page ay kailangang maghintay ang aming code hanggang sa ganap na mabuksan ang web page na pahina.

Hakbang 10: Kailangan naming gamitin ang loop na "Gawin Habang" sa VBA upang aktwal na maghintay para sa aming code na pumunta sa anumang karagdagang hanggang ang nabanggit na pahina ay ganap na nai-load.

Kaya, idagdag sa ibaba ng loop na "Gawin Habang" upang pilitin ang macro na maghintay hanggang ang nabanggit na web page ay dumating sa "Kumpleto na ang Handa ng Estado”Mode.

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer Itakda ang Internet_Explorer = Bagong InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Gawin Habang ang Internet_Explorer.ReadyState READYSTATE_COMPLETE 

Hakbang 11: Subukan natin ngayon upang makakuha ng impormasyon tungkol sa website sa isang solong linya. Upang makuha ang impormasyon tungkol sa nabanggit na impormasyon sa web address na kailangan namin upang magamit ang "Pangalan ng lugar”Pag-aari.

Code:

 Sub Web_Scraping () Madilim ang Internet_Explorer Bilang InternetExplorer Itakda ang Internet_Explorer = Bagong InternetExplorer Internet_Explorer.Visible = Tunay na Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Gawin Habang ang Internet_Explorer.ReadyState READYSTATE_COMPLETEox_LoopExOxboxNamexCoxplameEoxCopplone.LeadyState 

Patakbuhin ang code at sa kahon ng mensahe, makukuha namin ang impormasyon tungkol sa website.

Hakbang 12: Ngayon sa ibaba, maaari rin kaming mag-print ng mga address ng website din.

Code:

 Sub Web_Scraping () Dim Internet_Explorer Bilang InternetExplorer Itakda Internet_Explorer = Bagong InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Gawin Habang Internet_Explorer.ReadyState READYSTATE_COMPLETEx & InternetLinex & InternetLinexLinex & Internet .LocationURL End Sub 

Ngayon sasabihin nito ang tungkol sa paglalarawan ng website at ipinapakita rin ang address ng website.

Mga Bagay na Dapat Tandaan

  • Posible ang web scraping sa pamamagitan ng pag-access sa mga panlabas na application tulad ng Internet Explorer.
  • Maaari nating gawin ito sa dalawang paraan ibig sabihin, Maagang Binding & Late Binding. Sa Maagang Pagbubuklod, maaari nating makita ang listahan ng IntelliSense ngunit sa huli na pagbubuklod, hindi namin talaga makikita ang listahan ng IntelliSense.