VBA Web Scraping sang Excel

โšก Tรณm tแบฏt thรดng minh

Web scraping vแป›i vรญ dแปฅ VBAtracSao chรฉp dแปฏ liแป‡u tแปซ cรกc trang web HTML trแปฑc tiแบฟp vร o Excel, sแปญ dแปฅng tรญnh nฤƒng tแปฑ ฤ‘แป™ng hรณa cแปงa Internet Explorer vร ... Microsoft Thฦฐ viแป‡n ฤ‘แป‘i tฦฐแปฃng HTML dรนng ฤ‘แปƒ ฤ‘iแปu hฦฐแป›ng trang web, ฤ‘แปc bแบฃng HTML vร  ghi cรกc giรก trแป‹ ฤ‘รฃ thu thแบญp vร o cรกc รด trong bแบฃng tรญnh.

  • ๐Ÿงฐ Tแปฑ ฤ‘แป™ng hรณa VBA: VBA ฤ‘iแปu khiแปƒn Internet Explorer tแปซ Excel ฤ‘แปƒ tแบฃi mแป™t trang web vร  ฤ‘แปc mรฃ HTML cแปงa nรณ.
  • ๐Ÿ“š Tร i liแป‡u tham khแบฃo cแบงn thiแบฟt: Microsoft Thฦฐ viแป‡n ฤ‘แป‘i tฦฐแปฃng HTML vร  Microsoft Cรกc ฤ‘iแปu khiแปƒn Internet phแบฃi ฤ‘ฦฐแปฃc tham chiแบฟu trong dแปฑ รกn.
  • ๐ŸŒ Phฦฐฦกng thแปฉc ฤ‘iแปu hฦฐแป›ng: Phฦฐฦกng thแปฉc Navigate mแปŸ mแป™t mแปฅc tiรชu URLvร  ฤ‘oแบกn mรฃ sแบฝ chแป cho ฤ‘แบฟn khi trang web sแบตn sร ng.
  • ๐Ÿงฑ Phรขn tรญch cรบ phรกp bแบฃng HTML: Hร m getElementsByTagName ฤ‘แปc bแบฃng ฤ‘แปƒ cรณ thแปƒ lแบทp qua cรกc hร ng vร  รด cแปงa bแบฃng.
  • ๐Ÿ“Š Ghi vร o รด: Cรกc giรก trแป‹ thu thแบญp ฤ‘ฦฐแปฃc sแบฝ ฤ‘ฦฐแปฃc ghi vร o cรกc รด trong bแบฃng tรญnh, thฦฐแปng lร  phรญa sau nรบt Lร m mแป›i.
  • ๐Ÿค– Hแป— trแปฃ AI: Cรกc cรดng cแปฅ vร  trแปฃ lรฝ AI hiแป‡n ฤ‘ang tแบกo ra nhแปฏng thแปฉ thรด sฦก.ping Viแบฟt mรฃ vร  ฤ‘iแปu chแป‰nh cรกc bแป™ chแปn khi bแป‘ cแปฅc thay ฤ‘แป•i.

VBA Web Scraping sang Excel

Data Scra lร  gรฌ?ping?

Thu thแบญp dแปฏ liแป‡uping lร  kแปน thuแบญt giรบp extracBแบกn muแป‘n chuyแปƒn thรดng tin mong muแป‘n tแปซ mแป™t trang web HTML sang mแป™t tแป‡p cแปฅc bแป™ trรชn mรกy tรญnh cแปงa mรฌnh. Thรดng thฦฐแปng, tแป‡p cแปฅc bแป™ ฤ‘รณ lร  tแป‡p Excel, tแป‡p Word hoแบทc bแบฅt kแปณ tแป‡p nร o khรกc. Microsoft แปจng dแปฅng vฤƒn phรฒng. Nรณ giรบp chuyแปƒn tแบฃi thรดng tin quan trแปng tแปซ trang web.

Thu thแบญp dแปฏ liแป‡uping ฤiแปu nร y trแปŸ nรชn cรณ giรก trแป‹ trong mแป™t dแปฑ รกn nghiรชn cแปฉu phแปฅ thuแป™c vร o internet hร ng ngร y. ฤแปƒ minh hแปa, hรฃy xem xรฉt mแป™t nhร  giao dแป‹ch chแปฉng khoรกn trong ngร y sแปญ dแปฅng macro Excel ฤ‘แปƒ lแบฅy thรดng tin thแป‹ trฦฐแปng tแปซ mแป™t trang web tร i chรญnh vร o bแบฃng tรญnh Excel bแบฑng VBA.

Cรกch chuแบฉn bแป‹ macro Excel trฦฐแป›c khi quรฉt dแปฏ liแป‡uping (Trรฌnh duyแป‡t web IE)

Cรณ mแป™t sแป‘ ฤ‘iแปu kiแป‡n tiรชn quyแบฟt cแบงn phแบฃi thแปฑc hiแป‡n trรชn tแป‡p macro Excel trฦฐแป›c khi bแบฏt ฤ‘แบงu quรก trรฌnh thu thแบญp dแปฏ liแป‡u.ping quรก trรฌnh.

Cรกc ฤ‘iแปu kiแป‡n tiรชn quyแบฟt nร y nhฦฐ sau:

Bฦฐแป›c 1) MแปŸ mแป™t macro dแปฑa trรชn Excel vร  truy cแบญp tรนy chแปn Nhร  phรกt triแปƒn cแปงa Excel.

Chuแบฉn bแป‹ macro Excel trฦฐแป›c khi quรฉt dแปฏ liแป‡u.ping sแปญ dแปฅng Internet Explorer

Bฦฐแป›c 2) Chแปn tรนy chแปn Visual Basic trong dแบฃi bฤƒng Nhร  phรกt triแปƒn.

Chuแบฉn bแป‹ macro Excel trฦฐแป›c khi quรฉt dแปฏ liแป‡u.ping sแปญ dแปฅng Internet Explorer

Bฦฐแป›c 3) Chรจn mแป™t mรด-ฤ‘un mแป›i.

Chuแบฉn bแป‹ macro Excel trฦฐแป›c khi quรฉt dแปฏ liแป‡u.ping sแปญ dแปฅng Internet Explorer

Bฦฐแป›c 4) KhแปŸi tแบกo mแป™t chฦฐฦกng trรฌnh con mแป›i.

Sub test()
End Sub

Kแบฟt quแบฃ cแปงa mรด-ฤ‘un sแบฝ nhฦฐ sau:

Chuแบฉn bแป‹ macro Excel trฦฐแป›c khi quรฉt dแปฏ liแป‡u.ping sแปญ dแปฅng Internet Explorer

Bฦฐแป›c 5) Truy cแบญp tรนy chแปn Tham chiแบฟu trong tab Cรดng cแปฅ vร  tham chiแบฟu ฤ‘แบฟn... Microsoft Thฦฐ viแป‡n ฤ‘แป‘i tฦฐแปฃng HTML vร  Microsoft Kiแปƒm soรกt Internet.

Cรกc tแป‡p sau ฤ‘รขy phแบฃi ฤ‘ฦฐแปฃc tham chiแบฟu ฤ‘แบฟn mรด-ฤ‘un, vรฌ chรบng giรบp mแปŸ Internet Explorer vร  hแป— trแปฃ lแบญp trรฌnh macro.

Tร i liแป‡u tham khแบฃo Microsoft Thฦฐ viแป‡n ฤ‘แป‘i tฦฐแปฃng HTML vร  cรกc ฤ‘iแปu khiแปƒn Internet

Giแป ฤ‘รขy, tแป‡p Excel ฤ‘รฃ sแบตn sร ng ฤ‘แปƒ tฦฐฦกng tรกc vแป›i Internet Explorer. Bฦฐแป›c tiแบฟp theo lร  tรญch hแปฃp cรกc tแบญp lแป‡nh macro giรบp hแป— trแปฃ viแป‡c thu thแบญp dแปฏ liแป‡u.ping แปŸ ฤ‘แป‹nh dแบกng HTML.

Cรกch mแปŸ Internet Explorer bแบฑng Excel VBA

Bฦฐแป›c 1) KhแปŸi tแบกo biแบฟn trong chฦฐฦกng trรฌnh con nhฦฐ hรฌnh bรชn dฦฐแป›i.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument

Bฦฐแป›c 2) ฤแปƒ mแปŸ Internet Explorer bแบฑng VBA, hรฃy viแบฟt ie.Visible = True vร  nhแบฅn phรญm F5.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument
ie.Visible = True

Mรด-ฤ‘un sแบฝ cรณ cแบฅu trรบc nhฦฐ sau:

MแปŸ Internet Explorer bแบฑng Excel VBA

MแปŸ Internet Explorer bแบฑng Excel VBA

Cรกch mแปŸ trang web trong Internet Explorer bแบฑng VBA

Dฦฐแป›i ฤ‘รขy lร  cรกc bฦฐแป›c ฤ‘แปƒ mแปŸ mแป™t trang web trong Internet Explorer bแบฑng VBA.

Bฦฐแป›c 1) Sau khi bแบกn cรณ thแปƒ truy cแบญp Internet Explorer bแบฑng Excel VBA, bฦฐแป›c tiแบฟp theo lร  truy cแบญp mแป™t trang web bแบฑng VBA. ฤiแปu nร y ฤ‘ฦฐแปฃc thแปฑc hiแป‡n dแป… dร ng nhแป thuแป™c tรญnh Navigate, trong ฤ‘รณ... URL ฤ‘ฦฐแปฃc truyแปn dฦฐแป›i dแบกng dแบฅu ngoแบทc kรฉp. Hรฃy lร m theo cรกc bฦฐแป›c ฤ‘ฦฐแปฃc hiแปƒn thแป‹.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

Bฦฐแป›c 2) Nhแบฅn phรญm F5 ฤ‘แปƒ thแปฑc thi macro. Trang web sau sแบฝ mแปŸ ra nhฦฐ hรฌnh minh hแปa.

MแปŸ trang web trong Internet Explorer bแบฑng VBA

Giแป ฤ‘รขy, macro Excel ฤ‘รฃ sแบตn sร ng thแปฑc hiแป‡n thao tรกc quรฉt.ping cรกc chแปฉc nฤƒng. Bฦฐแป›c tiแบฟp theo cho thแบฅy cรกch thรดng tin cรณ thแปƒ ฤ‘ฦฐแปฃc trรญch xuแบฅt.tracted tแปซ Internet Explorer bแบฑng VBA.

Cรกch trรญch xuแบฅt thรดng tin tแปซ mแป™t trang web bแบฑng VBA

Giแบฃ sแปญ nhร  giao dแป‹ch trong ngร y muแป‘n truy cแบญp dแปฏ liแป‡u tแปซ trang web mแป—i ngร y. Mแป—i lแบงn nhร  giao dแป‹ch nhแบฅp vร o nรบt, dแปฏ liแป‡u thแป‹ trฦฐแปng sแบฝ tแปฑ ฤ‘แป™ng ฤ‘ฦฐแปฃc tแบฃi vร o Excel.

Tแปซ trang web trรชn, cแบงn phแบฃi kiแปƒm tra mแป™t phแบงn tแปญ vร  quan sรกt cแบฅu trรบc dแปฏ liแป‡u.

Bฦฐแป›c 1) Truy cแบญp mรฃ nguแป“n HTML bรชn dฦฐแป›i bแบฑng cรกch nhแบฅn phรญm Control + Shift + Tรดi.

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

Mรฃ nguแป“n sแบฝ nhฦฐ sau:

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document

Nhฦฐ bแบกn thแบฅy, dแปฏ liแป‡u ฤ‘ฦฐแปฃc cแบฅu trรบc dฦฐแป›i dแบกng mแป™t bแบฃng HTML duy nhแบฅt. Do ฤ‘รณ, ฤ‘แปƒ trรญch xuแบฅt toร n bแป™ dแปฏ liแป‡u tแปซ bแบฃng HTML nร y, bแบกn cแบงn thiแบฟt kแบฟ mแป™t macro thu thแบญp dแปฏ liแป‡u dฦฐแป›i dแบกng mแป™t tแบญp hแปฃp.

Sau ฤ‘รณ, dแปฏ liแป‡u ฤ‘ฦฐแปฃc dรกn vร o Excel. ฤแปƒ ฤ‘แบกt ฤ‘ฦฐแปฃc kแบฟt quแบฃ mong muแป‘n, hรฃy thแปฑc hiแป‡n cรกc bฦฐแป›c dฦฐแป›i ฤ‘รขy.

Bฦฐแป›c 2) KhแปŸi tแบกo tร i liแป‡u HTML trong chฦฐฦกng trรฌnh con.

Bฦฐแป›c 3) KhแปŸi tแบกo phแบงn tแปญ tแบญp hแปฃp cรณ trong tร i liแป‡u HTML.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

Bฦฐแป›c 4) KhแปŸi tแบกo cรกc รด trong bแบฃng tรญnh Excel bแบฑng cรกch sแปญ dแปฅng vรฒng lแบทp lแป“ng nhau nhฦฐ hรฌnh minh hแปa.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object

ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

Excel cรณ thแปƒ ฤ‘ฦฐแปฃc khแปŸi tแบกo bแบฑng thuแป™c tรญnh Range hoแบทc thuแป™c tรญnh Cells cแปงa trang tรญnh. ฤแปƒ giแบฃm ฤ‘แป™ phแปฉc tแบกp cแปงa kแป‹ch bแบฃn VBA, dแปฏ liแป‡u tแบญp hแปฃp ฤ‘ฦฐแปฃc khแปŸi tแบกo bแบฑng thuแป™c tรญnh Cells cแปงa Trang tรญnh 1 trong sแป• lร m viแป‡c.

Sau khi kแป‹ch bแบฃn macro ฤ‘รฃ sแบตn sร ng, hรฃy gรกn chฦฐฦกng trรฌnh con cho mแป™t nรบt trong Excel vร  thoรกt khแปi mรด-ฤ‘un VBA. ฤแบทt tรชn cho nรบt lร  Lร m mแป›i hoแบทc bแบฅt kแปณ tรชn nร o phรน hแปฃp. Trong vรญ dแปฅ nร y, nรบt ฤ‘ฦฐแปฃc ฤ‘แบทt tรชn lร  Lร m mแป›i.

Quรฉt thรดng tin tแปซ trang web bแบฑng VBA

Bฦฐแป›c 5) Nhแบฅn nรบt Lร m mแป›i ฤ‘แปƒ xem kแบฟt quแบฃ bรชn dฦฐแป›i.

Quรฉt thรดng tin tแปซ trang web bแบฑng VBA

Bฦฐแป›c 6) So sรกnh kแบฟt quแบฃ trong Excel vแป›i kแบฟt quแบฃ trong Internet Explorer.

Quรฉt thรดng tin tแปซ trang web bแบฑng VBA

Cรขu Hoฬ‰i Thฦฐฦกฬ€ng Gฤƒฬฃp

Cแบงn cรณ hai tham chiแบฟu trong trรฌnh chแป‰nh sแปญa VBA tแบกi mแปฅc Cรดng cแปฅ, Tham chiแบฟu: Microsoft Thฦฐ viแป‡n ฤ‘แป‘i tฦฐแปฃng HTML vร  Microsoft Cรกc ฤ‘iแปu khiแปƒn Internet. Chรบng cho phรฉp VBA mแปŸ Internet Explorer, ฤ‘iแปu hฦฐแป›ng ฤ‘แบฟn mแป™t... URLvร  ฤ‘แปc cรกc phแบงn tแปญ HTML cแปงa trang.

ฤiแปu ฤ‘รณ phแปฅ thuแป™c vร o trang web. Nhiแปu trang web hแบกn chแบฟ viแป‡c thu thแบญp dแปฏ liแป‡u tแปฑ ฤ‘แป™ng.ping Trong ฤ‘iแปu khoแบฃn dแป‹ch vแปฅ cแปงa hแป, hรฃy xem xรฉt kแปน trฦฐแป›c vร  trรกnh thu thแบญp dแปฏ liแป‡u cรก nhรขn hoแบทc dแปฏ liแป‡u cรณ bแบฃn quyแปn. Scraping Dแปฏ liแป‡u cรดng khai, ฤ‘ฦฐแปฃc phรฉp sแปญ dแปฅng cho mแปฅc ฤ‘รญch phรขn tรญch cรก nhรขn thฦฐแปng cรณ rแปงi ro thแบฅp hฦกn.

Internet Explorer ฤ‘รฃ lแป—i thแปi, vรฌ vแบญy cรกc dแปฑ รกn hiแป‡n ฤ‘แบกi sแปญ dแปฅng trรฌnh duyแป‡t khรกc. Selenium VBA cรกch tiแบฟp cแบญn, vแป‘n lร  ฤ‘แป™ng lแปฑc thรบc ฤ‘แบฉy Chrome, Firefoxhoแบทc Cแบกnh. Selenium Cung cแบฅp khแบฃ nฤƒng hแป— trแปฃ nhiแปu trรฌnh duyแป‡t vร  ฤ‘แป‹nh vแป‹ phแบงn tแปญ ฤ‘รกng tin cแบญy hฦกn cho cรกc trang web hiแป‡n tแบกi.

ฤรบng vแบญy. Cรกc cรดng cแปฅ thu thแบญp dแปฏ liแป‡u vร  trแปฃ lรฝ แบฃo ฤ‘ฦฐแปฃc hแป— trแปฃ bแปŸi AI cรณ thแปƒ xรกc ฤ‘แป‹nh cรกc trฦฐแปng dแปฏ liแป‡u, tแบกo ra vรญ dแปฅ.tracMรฃ lแป‡nh vร  khแบฃ nฤƒng tแปฑ ฤ‘แป™ng ฤ‘iแปu chแป‰nh bแป‘ cแปฅc khi cรณ thay ฤ‘แป•i. Cรกc mรด hรฌnh hแปc mรกy cลฉng phรขn tรญch cรกc trang khรดng cรณ cแบฅu trรบc, giแบฃm thiแปƒu cรดng sแปฉc thแปง cรดng trong viแป‡c viแบฟt vร  duy trรฌ mรฃ nguแป“n.ping tแบญp lแป‡nh.

Trรญ tuแป‡ nhรขn tแบกo (AI) sแปญ dแปฅng thแป‹ giรกc mรกy tรญnh vร  xแปญ lรฝ ngรดn ngแปฏ tแปฑ nhiรชn ฤ‘แปƒ nhแบญn diแป‡n bแบฃng biแปƒu, giรก cแบฃ vร  vฤƒn bแบฃn trรชn trang, ngay cแบฃ khi khรดng cรณ cรกc bแป™ chแปn cแป‘ ฤ‘แป‹nh. Trรญ tuแป‡ nhรขn tแบกo nร y sแปญ dแปฅng cรดng nghแป‡ nhแบญn diแป‡n hรฌnh แบฃnh vร  xแปญ lรฝ ngรดn ngแปฏ tแปฑ nhiรชn ฤ‘แปƒ nhแบญn dแบกng bแบฃng biแปƒu, giรก cแบฃ vร  vฤƒn bแบฃn trรชn trang, ngay cแบฃ khi khรดng cรณ bแป™ chแปn cแป‘ ฤ‘แป‹nh.traction tแบกo ra scraping Khแบฃ nฤƒng phแปฅc hแป“i tแป‘t hฦกn khi cแบฅu trรบc trang web thay ฤ‘แป•i.

Tรณm tแบฏt bร i viแบฟt nร y vแป›i: