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.

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.
Bฦฐแปc 2) Chแปn tรนy chแปn Visual Basic trong dแบฃi bฤng Nhร phรกt triแปn.
Bฦฐแปc 3) Chรจn mแปt mรด-ฤun mแปi.
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:
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.
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:
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.
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.
Bฦฐแปc 5) Nhแบฅn nรบt Lร m mแปi ฤแป xem kแบฟt quแบฃ bรชn dฦฐแปi.
Bฦฐแปc 6) So sรกnh kแบฟt quแบฃ trong Excel vแปi kแบฟt quแบฃ trong Internet Explorer.











