HtmlParser
HTMLパーサを書いています。
世の中はDOMツリー的なパーサが多いですね。
HTMLはXMLに比べると、それほど厳格ではないので、解釈する立場からすると解析しづらいです。
「いいかげんなHTMLを、どう解釈するか・・・」が難しいのです。
なので、それをあきらめて、ツリーではなくリストで返しています。
つまり、
<hoge attrib="value"> <!-- こめんと -->もじ <hr> </hoge>
は、
Element[hoge OPEN attribute={attrib=value}] Text["\n"] Comment[ こめんと ] Text["もじ\n"] Element[hr OPEN attribute={}] Text["\n"] Element[hoge CLOSE ]
のようなリストになります。
私が元々やりたかったのは「Webクローラ」なので、文章の構造は興味がなく、A HREFタグやIMGタグなどがわかれば十分なのです。
おおむね、動くようになったかな?
あー、Javaで書いてます。