質問
ん、さすがに調度品等は古くなっJava.しています:したい検索をHTMLファイルのタグのhrefおよびsrcしたいURLを取得しますに関連するタグです。
には、どうするのがベストなしていきますか?
のです。最い申し上げます。
解決
このコードを使って遂行う思いが最初に紹介していただきます。
まJava Swing環境については、必ずる方法にjavax.swing.text.html およびjavax.swing.います。html.パーサのパッケージ。残念ながら、彼らは主に使用するJEditorPaneがいることを強くおすすめを探してみるのはいかがでしょう.
あるクラスは、Java6APIと呼ばれます。タグを識別するHTMLの開始タグと終了タグは、その利用のためのリンクはこのようにしていますプログラムです。http://java.sun.com/javase/6/docs/api/javax/swing/text/html/HTML.Tag.html
私がプログラムにも同様のこと、の3つの方法
public void handleStartTag(HTML.Tag t, MUtableAttributeSet atts, int pos)
public void handleEndTag(HTML.Tag t, int pos)
public void handleText(char[] text, int pos)
ることができますを書これらの方法でメッセージが基本的に、お探しの最初のタグと終了タグ、およびそれらについて特定のurlされるまで、次のステップへ進んでくださり、以下のurl。
のurlアドバイスをしていをご利用の場合は、JEditorPaneオブジェクトです。Javax.swing.イベントです。HyperlinkListenerのインタフェースを定義する唯一の方法hyperlinkUpdate(HyperlinkEvent e)を渡すことができるurlにします。setPage(evt.getURL())におJEditorPaneオブジェクトです。このまま更新しての区画のためのページを作成し、動きの始まりは工程です。
Msgった場合は、すぐに名前が書いた紙を持てください投票す!
他のヒント
あなたは1回の編集作業としてこれを実行しますか、またはあなたが体系的(すなわちコード)の実装が必要なのでしょうか?後者の場合は、JavaのHTMLパーサの実装を検索し、DOMツリーを歩いています。
私が使用した答えは JTidyする
でしたあなたはサイを使用することができ、その後、ロードhtmlファイル。それがロードされると、あなたがgetElementByは、任意のノードに移動するか、値を取得するために使用することができます。
場合はファイルは、 xhtml文書, では、標準的xml文書の州特別大隊第二次世界大戦博物への構文を使用しておりますので jdom.JDomが非常に強力で使いやすいという。
場合はhtmlドキュメントをお試しいただ htmlparser, は、particoularのクラス LinkTag.
私は見ているだろう tagsoup に、DOMを構築しています任意のHTML文書から木、も、最も非対応のもの。
次に、XPathを使用してによって返されるNodeListをイテレートます:
//
と
// IMG
私は猫HTMLパーサに成功したこの種のもの(スクリーンスクレイピング)のために使用しました。
import org.cyberneko.html.parsers.DOMParser; import org.w3c.dom.Node; public class TestParser { public static void main(String[] argv) throws Exception { DOMParser parser = new DOMParser(); for (int i = 0; i