jsoup
Jsoup é uma biblioteca Java usada para analisar documentos HTML e manipulá-los usando o Document Object Model (DOM). Ele fornece uma API simples e intuitiva para extrair e manipular dados de páginas HTML.
Com Jsoup, você pode analisar documentos HTML de um URL, arquivo ou string e, em seguida, extrair elementos específicos, como títulos, links, imagens e tabelas. Você também pode modificar o conteúdo HTML adicionando, removendo ou modificando elementos, atributos e texto.
Jsoup é particularmente útil para web scraping, que é o processo de extração automática de dados de sites. Ele costuma ser usado em rastreadores da Web, aplicativos de mineração de dados e outros projetos que exigem extração automatizada de dados de páginas HTML.
Jsoup é de código aberto e está disponível sob a licença MIT. Ele foi desenvolvido por Jonathan Hedley e é mantido e atualizado ativamente por uma comunidade de desenvolvedores.
Como funciona
Jsoup funciona analisando documentos HTML e criando uma estrutura de árvore DOM que representa os elementos HTML e seus relacionamentos. Isso permite que os desenvolvedores manipulem e extraiam facilmente os dados do documento HTML usando o código Java.
Aqui estão as etapas gerais para usar o Jsoup:
- Carregar um documento HTML: você pode carregar um documento HTML de um URL, arquivo ou string usando os métodos Jsoup.connect(), Jsoup.parse() ou Jsoup.parseBodyFragment().
- Extrair dados: Depois de carregar o documento HTML, você pode usar a API do Jsoup para extrair dados de elementos específicos no documento. Por exemplo, você pode usar os métodos getElementById(), getElementsByTag() ou getElementsByClass() para selecionar elementos específicos no documento HTML.
- Modifique o conteúdo HTML: Jsoup permite que você modifique o conteúdo HTML adicionando, removendo ou modificando elementos, atributos e texto. Por exemplo, você pode usar os métodos append(), prepend(), remove() e attr() para manipular o conteúdo HTML.
- Salve o documento HTML modificado: Depois de fazer alterações no documento HTML, você pode salvá-lo em um arquivo ou enviá-lo para o console usando os métodos toString() ou outerHtml().
A API do Jsoup foi projetada para ser simples e intuitiva, tornando mais fácil para os desenvolvedores extrair e manipular dados de documentos HTML. Ele também fornece suporte para recursos avançados, como manipulação de HTML inválido, limpeza e sanitização de HTML e trabalho com documentos XML.
Fazer solicitação
O método Jsoup.connect() é usado para conectar a uma URL e recuperar o documento HTML nessa URL. Veja como funciona:
- Primeiro, você cria uma conexão com a URL chamando o método Jsoup.connect() e passando a URL como um parâmetro de string. Isso retorna um objeto Connection.
- Você pode definir várias propriedades da conexão, como o agente do usuário, tempo limite e cabeçalhos de solicitação, chamando métodos no objeto Connection.
- Depois de configurar a conexão, você pode recuperar o documento HTML chamando o método get() no objeto Connection. Isso envia uma solicitação GET ao servidor e retorna o documento HTML como um objeto Document.
Proxy
Jsoup suporta o uso de proxies ao fazer requisições HTTP. Você pode usar o método proxy() no objeto Connection para definir um proxy para a conexão.
Após configurar a conexão, podemos chamar o método get() para recuperar o documento HTML da URL, utilizando o proxy para fazer a requisição HTTP.
Observe que você também pode definir outras propriedades do proxy, como nome de usuário e senha, criando um objeto Authenticator e registrando-o com o objeto Proxy. Isso permite que você se autentique com o servidor proxy, se necessário.