Jsoup para Java: Guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Jsoup para Java: Guia completo de parsing HTML

1. O que é Jsoup e para que serve?

Jsoup é uma biblioteca Java poderosa e de código aberto, projetada para fazer parsing (análise), extrair dados e manipular documentos HTML. Ela oferece aos desenvolvedores uma API limpa e intuitiva que permite trabalhar com HTML tão facilmente quanto com a árvore DOM em um navegador. Se você já precisou escrever expressões regulares para extrair dados de páginas web, sabe o quanto isso pode ser frágil e difícil de manter. O Jsoup resolve esse problema, oferecendo uma ferramenta robusta e flexível.

A principal função do Jsoup é o parsing de HTML. Ele pode receber uma string, uma URL ou um arquivo e transformá-los em um modelo de objeto de documento (DOM). Depois disso, você pode usar seletores CSS (como no jQuery) ou navegar pela árvore DOM para encontrar e extrair elementos específicos, seus atributos e conteúdo textual. Além disso, o Jsoup é capaz de limpar HTML de elementos potencialmente perigosos (como ataques XSS) e modificar o documento: adicionar, remover ou alterar tags e seu conteúdo.

Para que serve? As aplicações do Jsoup são muito amplas: desde escrever parsers simples para coleta de dados (web scraping) e monitoramento de preços até criar sistemas complexos de análise de conteúdo, testar aplicações web e integrar com CMS. O Jsoup é o padrão de facto para trabalhar com HTML no mundo Java, e seu conhecimento é essencial para qualquer desenvolvedor Java que lida com tecnologias web.

2. Instalação do Jsoup

O Jsoup é distribuído como um arquivo JAR, mas a maneira mais fácil é adicioná-lo através de um sistema de build. Abaixo estão os comandos para Maven e Gradle.

Maven (pom.xml)

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.17.2</version>
</dependency>

Gradle (build.gradle)

implementation 'org.jsoup:jsoup:1.17.2'

Se você não usa sistemas de build, baixe o arquivo JAR do site oficial e adicione-o ao classpath do seu projeto.

3. Início rápido: exemplo mínimo funcional

Vamos escrever um programa simples que carrega a página inicial do Google e exibe seu título.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class QuickStart {
    public static void main(String[] args) throws Exception {
        // 1. Carrega o documento HTML a partir de uma URL
        Document doc = Jsoup.connect("https://www.google.com").get();

        // 2. Extrai o título da página (conteúdo da tag <title>)
        String title = doc.title();

        // 3. Exibe o resultado
        System.out.println("Título da página: " + title);
    }
}

Este código faz uma requisição HTTP GET para a URL especificada, faz o parsing do HTML recebido e retorna um objeto Document. O método title() é uma maneira conveniente de obter o conteúdo da tag <title>. A saída será algo como: Título da página: Google.

4. Principais métodos e classes do Jsoup

Vamos explorar as classes e métodos essenciais da biblioteca. Todos os exemplos assumem que você já importou org.jsoup.Jsoup e org.jsoup.nodes.*.

4.1. Jsoup.connect(String url)

Assinatura: public static Connection connect(String url)

O que faz: Cria uma nova conexão HTTP para a URL especificada. Retorna um objeto Connection, que permite configurar a requisição (cabeçalhos, timeout, método HTTP, etc.) antes de executá-la.

Recommendations