Parseur html avec HTMLEditorKit
Le
1 connu

Bonjour,
Je fait un parseur html en utilisant HTMLEditorKit en suivant cet article
http://www.informit.com/articles/article.aspx?p1059&seqNum=2
Ca marche bien pour recuperer les attributs de la balise (class,href etc) mais j'ai pas trouvé le moyen de recuper le texte inclus.
ex : <a href="http.//" class="toto">Le texte que je voudrais recuper</a>
Merci d'avance
Je fait un parseur html en utilisant HTMLEditorKit en suivant cet article
http://www.informit.com/articles/article.aspx?p1059&seqNum=2
Ca marche bien pour recuperer les attributs de la balise (class,href etc) mais j'ai pas trouvé le moyen de recuper le texte inclus.
ex : <a href="http.//" class="toto">Le texte que je voudrais recuper</a>
Merci d'avance
Voici comment faire avec JSoup ( http://jsoup.org/ ), je le prefere car
JSoup est plus permissif, HTMLEditorKit est plus severe sur la qualite du
html.
import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class HTMLUtils {
private HTMLUtils() {}
public static List<String>extractLinks(String url) throws IOException {
final ArrayList<String> result = new ArrayList<String>();
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("a[href]");
for (Element link : links) {
result.add(link.attr("abs:href"));
result.add(link.text());
}
return result;
}
public final static void main(String[] args) throws Exception{
String site = "http://www.rgagnon.com/topics/java-language.html";
List<String> links = HTMLUtils.extractLinks(site);
for (String link : links) {
System.out.println(link);
}
}
}
Bye.
--
Real Gagnon from Quebec, Canada
* Java, Javascript, VBScript or PowerBuilder snippets
* http://rgagnon.com/howto.html
* http://rgagnon.com/bigindex.html