【ハウツー】

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

1 Html Agility Packとは

  • <<
  • <

1/2

はじめに

アプリケーション開発をしていると、他の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を取得します。

  • <<
  • <

1/2

インデックス

目次
(1) Html Agility Packとは
(2) パースとDOMの操作


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

求人情報