【ハウツー】
アプリケーション開発をしていると、他のWebサイトの情報を活用したくなる場合があります。そのサイトがWebサービスを提供していれば問題ありませんが、大抵のWebサイトはHTMLを公開しているだけです。正規表現などを使ってHTMLを解析することも可能ですが、思いのほか手間がかかってしまいがちです。
そこで、本稿ではHtml Agility Packと呼ばれるHTMLパーサーを紹介します。Html Agility Packを利用することで、C#やVB.NETからHTML内の情報を簡単に取り出すことができます。
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ドキュメント、テストツールが公開されています。
それでは、サンプルを見ていきましょう。
![]() |
マイコミジャーナルのランキング |
マイコミジャーナルの右側にはアクセスランキングが表示されています。例として、この情報を抽出してみましょう。
Windowsフォームのボタンをクリックすると、WebサイトにアクセスしてランキングのタイトルとURLを取得します。
| TI、再生可能エネルギー向けアプリ開発用マイコン搭載ソーラーキットを発表 [08:00 2/10] |
| 東レ、電子ペーパー用CNT透明導電フィルムの量産化技術を開発 [08:00 2/10] |
| TEL、微細プロセスに対応した高スループット塗布現像装置を発表 [08:00 2/10] |
| ユビキタスの高速起動ソリューション「QuickBoot」がマルチコアCPUに対応 [08:00 2/10] |
| ST、AMOLEDを搭載した次世代スマートフォンディスプレイ向け電源ICを発表 [08:00 2/10] |
|
新世代PCを開拓する「Windows on ARM」、MSが概要を説明 [08:07 2/10] パソコン |
|
TI、再生可能エネルギー向けアプリ開発用マイコン搭載ソーラーキットを発表 [08:00 2/10] エンタープライズ |
|
東レ、電子ペーパー用CNT透明導電フィルムの量産化技術を開発 [08:00 2/10] エンタープライズ |
|
TEL、微細プロセスに対応した高スループット塗布現像装置を発表 [08:00 2/10] エンタープライズ |
|
ユビキタスの高速起動ソリューション「QuickBoot」がマルチコアCPUに対応 [08:00 2/10] エンタープライズ |