Estrarre informazioni da un sito attraverso jsoup, html parser per Java
Postato da ROb | nella categoria Java, Sviluppo web | lunedì, 1 febbraio 2010
0
Ieri mi sono divertito a testare una nuova libreria in Java per il parsing di documenti HTML/XML.
Jsoup, questo il nome particolare di tale libreria, permette con una sintassi a selettori (stile JQuery) di inviduare specifici elementi del DOM di un documento html, sia locale che remoto.

Dopo aver scaricato la libreria dal sito ufficiale e averla importata nel mio workspace Eclipse, ho modificato leggermente uno degli esempi proposti per provare a estrarre i titoli e gli url di tutti i post dall’homepage del mio blog (http://www.bits4beats.it).
Beh… il risultato è stato veramente interessante e ho molta voglia di farci qualcosa di più costruttivo. Pensavo addirittura a uno script o un programmino per visualizzare il posizionamento di un sito per particolari keyword su più motori di ricerca. Se avrò voglia, tempo e capacità per farlo pubblicherò un post in merito.
Per ora godetevi queste 10 righe di codice:
Document doc = Jsoup.parse(new URL("http://www.bits4beats.it/"), 2000);
Elements resultLinks = doc.select("div.post-title > h2 > a");
System.out.println("Ultimi post di www.bits4beats.it con jsoup");
for (Element link : resultLinks) {
System.out.println();
String href = link.attr("href");
System.out.println("Titolo: " + link.text());
System.out.println("Url: " + href);
}
Nella riga 1 si crea un oggetto Document facendo il download dell’homepage del blog aspettando al massimo 2000 millisecondi.
Successivamente si cercano tutti gli elementi di tipo a figli diretti di elementi di tipo h2 figli diretti a loro volta di elementi div con classe post-title.
Per ognuno di questi elementi trovati, alle righe 8 e 9, vengono stampati rispettivamente l‘anchor text (cioè il testo cliccabile del link) e l’url del post.
Un ringraziamento allo sviluppatore del progetto, Jonathan Hedley, che ha corretto in tempi brevissimi un piccolo errore nel codice del jsoup Cookbook.
