
JSoup es un Parser Java para HTML, uno de los más sencillos que he probado, pero eso no le quita el mérito de ser una librería útil y poderosa.
Utilizo también esta librería para crear aplicaciones Android y funciona sin problemas.-
Ejemplo 1 (Traer links, descripción, título, artículos entre otros de una web):
import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class HTMLParserExample1 { public static void main(String[] args) { Document doc; try { // necesitará protocolo http doc = Jsoup.connect("http://www.stilogames.com.py/") .userAgent("Mozilla") .get(); // traer y mostrar el título, descripcion y keyword String title = doc.title(); String desc = doc.select("meta[name=description]").first().attr("content"); String keyword = doc.select("meta[name=keywords]").first().attr("content"); System.out.println("title : " + title); System.out.println("Descripción del sitio: " + desc); System.out.println("Keywords: " + keyword); // traer los links Elements links = doc.select("a[href]"); for (Element link : links) { // imprimirlos System.out.println("\nlink : " + link.attr("href")); System.out.println("texto : " + link.text()); } //Traer el último elemento dentro de el div pagination Element links2 = doc.select("div[class=pagination]").first(); Element linkText2 = links2.getElementsByTag("a").last(); System.out.println(linkText2.text()); //Traer los últimos artículos Elements articulos1 = doc.select("div[class=span8 clearfix]"); Elements articulos2 = articulos1.select("h1"); Elements articulos3 = articulos2.select("a"); for (Element link : articulos3) { // imprimirlos System.out.println("link : " + link.attr("href")); System.out.println("titulo : " + link.attr("title")); } } catch (IOException e) { e.printStackTrace(); } } }
Ejemplo 2 (Traer imagenes de una web):
import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class HTMLParserExample2 { public static void main(String[] args) { Document doc2; try { //obtener todas las imágenes doc2 = Jsoup.connect("http://www.tecnologia.com.py/") .userAgent("Mozilla") .get(); Elements images = doc2.select("img[src~=(?i)\\.(png|jpe?g|gif)]"); for (Element image : images) { System.out.println("\nsrc : " + image.attr("src")); System.out.println("height : " + image.attr("height")); System.out.println("width : " + image.attr("width")); System.out.println("alt : " + image.attr("alt")); } } catch (IOException e) { e.printStackTrace(); } }
Nota: Deben de descargar e importar la librería JSOUP a su proyecto JAVA.