VBAでChromeを自動操作する – スクレイピング

今回は簡単なスクレイピングの例を紹介します。スクレイピングにはSeleniumBasicを利用します。初期設定が終わっていない方は、以下記事を参照し、初期設定を完了させてください。

サンプルプログラム

CoinGeckoより暗号通貨の価格一覧を取得し、EXCELへ書き込むサンプルを紹介します。XPathが少々難しいですが、それ以外は単純なvbaで記載できます。

Option Explicit

Sub sample()
    Dim dr As New Selenium.WebDriver
    Dim el As WebElement
    
    dr.Start "chrome"
    dr.Get "https://www.coingecko.com/ja"
    
    Dim r As Range
    Set r = ThisWorkbook.Worksheets(1).Range("A1")
   
    For Each el In dr.FindElementsByXPath("//div[@class='coingecko-table']//tbody/tr")
      r.Value = el.FindElementByXPath(".//td[contains(@class,'coin-name')]").Attribute("data-sort")
      r.Offset(0, 1).Value = el.FindElementByXPath(".//td[contains(@class,'price')]/span").Text
      
      Set r = r.Offset(1, 0)
    Next
End Sub

VBA
スポンサーリンク