2010-06-25 18 views
6

Supponendo di dover utilizzare java, qual è il miglior parser html che sia flessibile per analizzare molti contenuti HTML diversi e non richiede anche un intero lotto di codice per eseguire tipi complessi di analisi?qual è il miglior parser html per java?

risposta

10

lo consiglio Jsoup per questo. Ha una API molto bella con supporto per jQuery like CSS selectors and non-verbose element iteration. Per fare una copia di this answer come esempio, viene stampato alla tua domanda e il nome di tutti i answerers qui:

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()); 
} 

Un'alternativa sarebbe XPath, ma JSoup è più utile per webdevelopers che hanno già una buona conoscenza su Selettori CSS.

+0

Grazie! Questo sembra fantastico. – egervari

+0

Prego. – BalusC

1

Il migliore sarebbe quello che ottiene il lavoro fatto bene.

V'è un opensource uno chiamato tagsoup, e anche jTidy

Problemi correlati