HTML parser con JSOUP en Java

| 2013-06-21 | No hay comentarios »

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.

Acerca del autor: Rodrigo Paszniuk

Ingeniero Informático, amante de la tecnología, la música, el ciclismo y aprender cosas nuevas.

Posts Relacionados

  • Electron, framework Javascript para crear aplicaciones de escritorio
  • JSF 2 con Maven – Hola Mundo
  • Java RMI
  • Gestión de cambios de la base de datos – Liquibase



SEGUÍNOS EN FACEBOOK


GITHUB