Webページからコンテンツ、特にタグとその中のコンテンツを取得できるようにしたいと考えています。XQueryとXPathを試しましたが、不正な形式のXHTMLでは機能しないようで、REGEXはただの苦痛です。
より良い解決策はありますか?理想的には、すべてのリンクを要求してURLの配列を取得するか、リンクのテキストを要求してリンクのテキストを含む文字列の配列を取得するか、すべての太字のテキストを要求できるようにしたいと思います。等
Webページからコンテンツ、特にタグとその中のコンテンツを取得できるようにしたいと考えています。XQueryとXPathを試しましたが、不正な形式のXHTMLでは機能しないようで、REGEXはただの苦痛です。
より良い解決策はありますか?理想的には、すべてのリンクを要求してURLの配列を取得するか、リンクのテキストを要求してリンクのテキストを含む文字列の配列を取得するか、すべての太字のテキストを要求できるようにしたいと思います。等
XHTMLをJTidyのようなもので実行すると、有効なXMLが返されます。
Watijを見たいと思うかもしれません。私はRubyのいとこであるWatirのみを使用しましたが、これを使用してWebページをロードし、説明した方法でページのすべてのURLを要求することができました。
作業は非常に簡単でした。文字通りウェブブラウザを起動し、情報を素敵な形で返します。IEのサポートは最高のように見えましたが、少なくともWatirFirefoxではサポートされていました。
当時、私はJTidyにいくつか問題がありました。JTidyが失敗したのは、閉じられていないタグに関連していると思います。それが今修正されているかどうかはわかりません。正確なプロジェクトの名前は覚えていませんが、TagSoupのラッパーであるものを使用することになりました。HTMLCleanerもあります。
http://htmlparser.sourceforge.net/を使用しました。不完全な形式の html を解析でき、非常に簡単にデータを抽出できます。