2011-01-24 10 views
4

私は潜在的に不正な形式のHTMLをC++で解析するためのソリューションを探しています。Beautiful SoupはPythonの機能と似ています。C++でLax HTML解析?

通常、XMLパーサを使用するだけで動作しますが、この場合の特定のHTMLは有効なXML/XHTMLではなく、正しく解析できません。

これにはライブラリ/ツールがありますか?

+0

タイトルを少し変更しました - 私はほとんどのC++ユーザーがBeautiful Soupに精通していないと思っています。 –

+0

複製:http://stackoverflow.com/questions/489522/library-recommendation-c-html-parser –

+0

@Billyそして、私は21Kの担当者が重複してタイトルを変更しないように閉じると期待しています:) –

答えて

6

あなたは、有効なXMLにHTMLを変換し、その後LibXml2はHTML4を解析することのできる文書によるとavailiable任意のC++ XMLパーサ

+1

それはオープンソースのCコードなので、実際にはライセンスに応じてHTMLTidyのコアを実際にC++バイナリにリンクすることができます。 – Day

+0

+1の考え方の外のソリューションです。 –

+0

@Billy驚いたことに、C++にはこのようなパーサが存在しないため、あなたは**強制的に**解決策を講じています。少なくとも私は少し前に見つけることができませんでした。それは、大部分の(すべての)主要なWebブラウザのエンジンがC++で書かれていることを知っていると、特に驚くべきことです。問題は、これらのパーサーがスタンドアロンコンポーネントとして利用できないことです。 –

-1

私はXercesを使用しており、C++に推奨しています。それはDOMモデルとSAXモデルの両方を持っています。

+2

Xercesは標準に準拠していないドキュメントを扱うHTMLを解析することもできません。 –

2

を使用するようにHTMLTidyを使用することができます。