Bonjour,
J'ai besoin d'extraire des liens html contenus entre les balise <PRE> et </PRE> d'une page html.
Pour le moment j'arrive à extraire tous les liens de la page html en question mais pas uniquement ceux contenus entre les balises <PRE> et </PRE>.
Voici mon code :
HtmlLinks.javapublicclass HtmlLinks extends HTMLEditorKit.ParserCallback {
HashSet urlSrc;
public HtmlLinks() {
urlSrc = new HashSet();
}
//c'est ici que je récupère tous les liens
publicvoid handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
String src;
if (t == HTML.Tag.A) {
if ((src = (String) a.getAttribute(HTML.Attribute.HREF)) == null)
return;
if (src.length() > 0)
urlSrc.add(src);
}
}
public HashSet listeUrlSrc() {
return urlSrc;
}
}
ParserHtml.java
import javax.swing.text.html.HTMLEditorKit;
publicclass ParserHtml extends HTMLEditorKit {
public ParserHtml() {
super();
}
public HTMLEditorKit.Parser getParser() {
returnsuper.getParser();
}
}
puis pour appeler mes classes :
ParserHtml parser = new ParserHtml();
HTMLEditorKit.Parser analyseur = parser.getParser();
HTMLEditorKit.ParserCallback callback = new HtmlLinks();
analyseur.parse(r, callback, true);
HashSet urls = ((HtmlLinks) callback).listeUrlSrc();
Iterator iterator = urls.iterator();
et je récupère les éléments de l'Iterator un par unEst-ce que quelqu'un peut m'aider svp? Je suis pas très loin mais je bloque là.
Merci d'avance.
*** Kakol ***