【ハウツー】

.NET向けHTMLパーサー「Html Agility Pack」で簡単スクレイピング

1 Html Agility Packとは

    青木淳夫  [2009/12/15]

    はじめに

    アプリケーション開発をしていると、他のWebサイトの情報を活用したくなる場合があります。そのサイトがWebサービスを提供していれば問題ありませんが、大抵のWebサイトはHTMLを公開しているだけです。正規表現などを使ってHTMLを解析することも可能ですが、思いのほか手間がかかってしまいがちです。

    そこで、本稿ではHtml Agility Packと呼ばれるHTMLパーサーを紹介します。Html Agility Packを利用することで、C#やVB.NETからHTML内の情報を簡単に取り出すことができます。

    Html Agility Packの概要

    Html Agility Pack(以下、HAP)は、CodePlexで開発されている.NET2.0以上向けのオープンソースライブラリです。HAPはHTMLをDOMに展開して、XPathによる抽出やXSLTによる変換を行うことができます。

    入手するには、CodelPlexのページからダウンロードできます。ライセンスはMs-PLで、執筆時点での最新バージョンは1.40 Beta2です。ダウンロードページにはDLL本体である「HtmlAgilityPack.X.X.X.binaries.zip」の他に、ソースコード、APIドキュメント、テストツールが公開されています。

    HTMLをパースできるテストツール(上部HTML、左下ツリー、右下ノード)

    サンプルプログラム

    それでは、サンプルを見ていきましょう。

    マイコミジャーナルのランキング

    マイコミジャーナルの右側にはアクセスランキングが表示されています。例として、この情報を抽出してみましょう。

    ランキングを抽出するWindowsフォーム

    Windowsフォームのボタンをクリックすると、WebサイトにアクセスしてランキングのタイトルとURLを取得します。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン