2009-04-03 4 views
4

ウェブページ、特にタグとその中のコンテンツからコンテンツを取得したいと考えています。私はXQueryとXPathを試しましたが、不正な形式のXHTMLでは動作しないようで、REGEXは単なる苦痛です。Javaアプリケーションの貧弱な形のXHTMLページをスクラップする最良の方法は何ですか

もっと良い解決策はありますか?理想的には、すべてのリンクを尋ねて、URLの配列を取得したり、リンクのテキストを尋ねたり、リンクのテキストで文字列の配列を取得したり、すべての太字

+0

メイト、あなたはちょうど重複した質問を公開することから私を救った:)ちょうど私がもっと知る必要があるもの。ありがとう。 –

+0

技術的には、XHTMLの形成が不十分です。 XHTMLの規定は、それが整形式で有効であるということです。不十分なコメントで申し訳ありません、無効なXHTMLは私を怒らせます。 –

答えて

4

JTidyのようなものを使ってXHTMLを実行すると、有効なXMLが返されます。

2

Watijをご覧ください。私はRubyのいとこ、Watirしか使用していませんでしたが、Webページを読み込んで、ページのすべてのURLをあなたの記述どおりに要求することができました。

これは非常に簡単でした。それは文字通りウェブブラウザーを起動して、いい形で情報を返します。 IEのサポートは最高のようだが、少なくともWatir Firefoxでもサポートされていた。

+0

私はWatijを使用しましたが、これは非常にうまく動作します –

2

私はその日のJTidyにいくつか問題がありました。私はそれがJTidyを失敗させた閉じられていないタグに関連していたと思います。私はそれが今修正されたかどうか分からない。正確なプロジェクトの名前は覚えていませんが、TagSoupのラッパーだったものを使ってしまいました。 TheresもHTMLCleanerです。

2

私はhttp://htmlparser.sourceforge.net/を使用しました。これは、不完全に形成されたHTMLを解析することができ、データ抽出を非常に容易にする。

+0

これは.NETの「HTML Agility Pack」とよく似ています。私が望むものを正確に行うために使用します(xPathを使ってHTMLからデータを取得します。 ) – Dror

関連する問題