1. Productos
  2.   Editor
  3.   Java
  4.   jsoup
 
  

jsoup: El analizador HTML para Java

Extrae, limpia y manipula HTML con la simplicidad de jQuery en Java

¿Qué es jsoup?

jsoup es una biblioteca Java ligera pero potente diseñada para trabajar con HTML real. Proporciona una API intuitiva para analizar HTML desde URLs, archivos o cadenas, extraer y manipular datos usando recorrido DOM, selectores CSS y métodos modernos de HTML5. Ideal para web scraping, extracción de datos y saneamiento de HTML, jsoup maneja marcado mal formado con elegancia, igual que lo haría un navegador.

A diferencia de los enfoques con regex, jsoup ofrece un modelo de objetos limpio con métodos inspirados en jQuery, simplificando tareas como envío de formularios, modificación de atributos y extracción de texto. Sin dependencias y con licencia MIT, es la favorita de desarrolladores Java que necesitan procesamiento HTML confiable.

Ventajas clave de jsoup:

  • Manejo de HTML real: Analiza HTML desordenado como los navegadores
  • Sintaxis estilo jQuery: Selectores CSS familiares (ej. doc.select("div.content"))
  • Amigable para scraping: Sigue redirecciones, maneja cookies y envía formularios
  • Multiplataforma: Java puro sin dependencias nativas
  • Seguridad: Protección XSS incorporada y saneamiento de HTML

Perfecto para minería de datos, automatización web y análisis de contenido.

GitHub

Estadísticas de GitHub

Nombre:
Idioma:
Estrellas:
Tenedores:
Licencia:
El repositorio se actualizó por última vez en

¿Por qué elegir jsoup?

  • Simplicidad: API intuitiva con soporte para selectores CSS
  • Fiabilidad: Mantenido activamente desde 2009
  • Rendimiento: Optimizado para streaming y documentos grandes
  • Flexibilidad: Funciona con fragmentos, archivos o URLs en vivo
  • Salida limpia: Formatea y reestructura HTML

Instalación

Añade jsoup vía Maven o Gradle:

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Requisitos del sistema: Java 8+

Ejemplos de Código

Casos de uso prácticos de jsoup:

Análisis HTML con jsoup

Ejemplo 1: Analizar un documento desde un String

Si tienes HTML en un String de Java y quieres analizarlo para obtener su contenido o modificarlo, jsoup puede lograrlo con pocas líneas de código.

El método parse(String html, String baseUri) convierte el HTML de entrada en un nuevo Document. El parámetro baseUri ayuda a resolver URLs relativas a absolutas y debe corresponder a la URL desde donde se recuperó el documento. Si esto no es relevante o si el HTML contiene un elemento <base>, puedes usar el método más simple parse(String html).

Ejemplo 2: Usar selectores CSS para encontrar elementos

Quieres encontrar o manipular elementos usando selectores CSS. Analiza y manipula un String HTML directamente:

Ejemplo 3: Modificar el HTML de un elemento

Necesitas modificar el HTML de un elemento. Usa los métodos setters de HTML en Element como se muestra en el siguiente ejemplo:

Funcionalidades Avanzadas

jsoup soporta procesamiento HTML profesional:

  • Manejo de formularios: Enviar datos POST:

    Envío de Formulario

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Soporte para proxy: Scraping mediante proxy:

    Configuración de Proxy

    
        Document doc = Jsoup.connect("https://target.com")
            .proxy("127.0.0.1", 8080)
            .get();
        
    
  • Manipulación DOM: Modificar estructura HTML:

    Cambios DOM

    
        doc.select("div.ads").remove(); // Elimina todos los anuncios
        doc.select("h1").attr("class", "header"); // Añade clase CSS
        
    

jsoup vs. HTMLUnit

Diferencias clave:

  • Enfoque: jsoup analiza HTML estático; HTMLUnit simula navegadores (ejecución JavaScript)
  • Velocidad: jsoup es más rápido para análisis HTML puro
  • Estilo API: jsoup usa selectores CSS; HTMLUnit imita Selenium
  • Casos de uso: jsoup para scraping; HTMLUnit para pruebas de páginas dinámicas
  • Dependencias: jsoup no tiene; HTMLUnit requiere bibliotecas adicionales

Conclusión

jsoup es el kit de herramientas definitivo para desarrolladores Java que trabajan con HTML. Ideal para:

  • Web scraping: Extraer datos de cualquier sitio web
  • Limpieza de datos: Saneamiento y normalización de HTML
  • Análisis de contenido: Analizar feeds RSS o archivos web
  • Pruebas: Verificar estructura HTML en aplicaciones

Con licencia MIT y API intuitiva, jsoup es la mejor opción para procesamiento HTML en Java.

Productos Similares

 Español