AngleSharpは、C#で利用できるhtmlパーサーです。
AngleSharpは、C#開発環境で、Javascriptで広く利用されているDOM (Document Object Model)を使用して、Webページの内容を取得します。
Javascriptで広く利用されているDOMも、C#では、あまり馴染みがないものです。
Javascriptの習得を迂回して、C#で、AngleSharpを使うためにDOMを習得可能なのかは、よくわかりませんが、まずは、ドキュメントを読んでみることにします。
ドキュメントの翻訳
C#で利用できるhtmlパーサーAngleSharpは、まだまだ、日本語の情報が少ないので、英語のドキュメントを理解していく必要があります。
- AngleSharpのトップページの翻訳
https://anglesharp.github.io/の2018.07.04時点の内容を和訳しました。
AngleSharpドキュメント
Anglesharp の使い方を紹介しているサイト
AngleSharpのサンプル
AngleSharpには、使い方の習得を目的としたいくつかのサンプルプログラムが提供されています。AngleSharpの使い方を習得するためには、実際に、コードを実行することが一番の近道です。
DOM
Anglesharpを使用するには、DOMについて理解している必要があります。
一般に、htmlやxml文書から、特定の要素の内容を取り出す際に、使われる方法に以下のものがあります。
- 正規表現
- DOM
- XPass
正規表現は、正規表現パターンで、取り出す文字列を指定して取り出します。
XPassは、C#でも利用することができ、C#では、xml文書に対する操作で使われることが多いです。
Anglesharpを使って特定の要素や属性の値を取り出すために、DOMが使用されます。
DOM (Document Object Model)は、パーサーにアクセスする方法の1つで、W3Cが公開しているAPIです。
- Document Object Model (DOM)
- DOM(日本語訳)
- W3C 文書の日本語翻訳集
- W3Cの仕様書等の文書の日本語訳集
- これからのDOM API第1回 そもそもDOMとは何か
- 共通 DOM API
DOMの使い方には、学習しやすいドキュメントが存在しなさそうなので、Javascriptと一緒にDOM操作を習得するルートが最も適切と思われます。