Html Agility PackとXPathでスクレイピング

HtmlAgilityPackを使うにはプロジェクトごとにNuGetから導入する。

  • ソリューションエクスプローラーで導入したいプロジェクトを選択しておいて、メニューバーから[プロジェクト]-[NuGet パッケージの管理]を選ぶ
  • すると、[NuGet パッケージの管理]ダイアログが表示されるので、左側のペーンで[オンライン]を選択してから、右上の検索ボックスに「HtmlAgilityPack」(空白なし)と入力して[Enter]キーを押す。
  • いくつかのパッケージが表示されるので、その中から[HtmlAgilityPack]を選び、そこに表示された[インストール]ボタンをクリックする


コード例

Dim wc As WebClient = New WebClient()
Dim htmlStr As String
htmlStr = wc.DownloadString("http://www.cmegroup.com/trading/equity-index/international-index/nikkei-225-yen_quotes_settlements_futures.html#tradeDate=11/22/2016")

Dim html As HtmlAgilityPack.HtmlDocument = New HtmlAgilityPack.HtmlDocument()
html.LoadHtml(htmlStr)

Dim tags As HtmlAgilityPack.HtmlNodeCollection
tags = html.DocumentNode.SelectNodes("//*[@id=""settlementsFuturesProductTable""]/tbody/tr[1]")

Dim node As HtmlAgilityPack.HtmlNode
For Each node In tags
    Trace.WriteLine(node.InnerText)
Next


ネタ元