2010-06-25 18 views
6

Suponiendo que tenemos que usar Java, ¿cuál es el mejor analizador html que es flexible para analizar gran cantidad de contenido html diferente, y también no requiere una gran cantidad de código para hacer tipos complejos de análisis?¿cuál es el mejor analizador html para java?

Respuesta

10

recomendaría Jsoup para esto. Tiene una API muy buena con soporte para jQuery like CSS selectors and non-verbose element iteration. Para tomar una copia de this answer como un ejemplo, esta opción se imprime su propia pregunta y el nombre de todos los que responden aquí:

URL url = new URL("https://stackoverflow.com/questions/3121136"); 
Document document = Jsoup.parse(url, 3000); 

String question = document.select("#question .post-text").text(); 
System.out.println("Question: " + question); 

Elements answerers = document.select("#answers .user-details a"); 
for (Element answerer : answerers) { 
    System.out.println("Answerer: " + answerer.text()); 
} 

Una alternativa sería XPath, pero JSoup es más útil para los desarrolladores web que ya tienen una buena comprensión de Selectores de CSS

+0

Gracias! Esto se ve genial. – egervari

+0

De nada. – BalusC

1

Lo mejor sería el que hace bien el trabajo.

No es un código abierto llamado tagsoup, y también jTidy

Cuestiones relacionadas