Como extrair imagens de um site
A capacidade de extrair imagens de HTML é importante para várias aplicações, como web scraping e análise de conteúdo. O Aspose.HTML for Java é uma biblioteca robusta que simplifica esse processo, oferecendo aos desenvolvedores um conjunto de ferramentas para navegar e coletar informações de documentos HTML sem problemas. Vamos explorar como extrair imagens de documentos HTML.
Extrair imagens de HTML usando Java
Usando a biblioteca Aspose.HTML for Java, você pode criar facilmente seu próprio aplicativo, pois nossa API fornece um conjunto robusto de ferramentas para analisar e extrair informações de documentos HTML. Se você deseja usar recursos de análise de dados HTML em seu produto ou extrair dados de HTML de forma programática, consulte o exemplo de código abaixo.
Código Java para extrair imagens de um site
// Open a document you want to download images from
final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");
// Collect all <img> elements
HTMLCollection images = document.getElementsByTagName("img");
// Create a distinct collection of relative image URLs
Iterator<Element> iterator = images.iterator();
java.util.Set<String> urls = new HashSet<>();
for (Element e : images) {
urls.add(e.getAttribute("src"));
}
// Create absolute image URLs
java.util.List<Url> absUrls = urls.stream()
.map(src -> new Url(src, document.getBaseURI()))
.collect(Collectors.toList());
for (Url url : absUrls) {
// Create an image request message
final RequestMessage request = new RequestMessage(url);
// Extract image
final ResponseMessage response = document.getContext().getNetwork().send(request);
// Check whether a response is successful
if (response.isSuccess()) {
String[] split = url.getPathname().split("/");
String path = split[split.length - 1];
// Save file to a local file system
FileHelper.writeAllBytes(path, response.getContent().readAsByteArray());
}
}
Etapas para extrair imagens do site
- Use o construtor
HTMLDocument(
Url
) para inicializar um documento HTML. - Utilize o método
getElementsByTagName(
"img"
) para coletar todos os elementos<img>
do documento. O método retorna uma coleção de elementos<img>
presentes na página web. - Iterar através dos elementos
<img>
e utilizar o método getAttribute("src"
) para extrair o atributosrc
de cada elemento<img>
. - Criar URLs absolutas de imagens utilizando a classe
Url
e a propriedade
BaseURI
da classeHTMLDocument
. - Para cada URL de imagem absoluta, criar uma requisição utilizando o construtor
RequestMessage(
url
) e enviá-la. A resposta é verificada para garantir que foi bem sucedida. - Se a resposta foi bem sucedida, extraia os dados da imagem e salve-os no seu sistema de arquivos local utilizando
FileHelper.writeAllBytes()
.
Com Aspose.HTML for Java, é possível criar facilmente uma ferramenta que analisa uma página HTML, identifica fontes de imagem e baixa essas imagens. É uma solução poderosa para aqueles que precisam coletar imagens para análise, arquivamento ou criação de conteúdo – sem o incômodo de fazer isso manualmente. Para saber mais sobre como extrair programaticamente diferentes tipos de imagens de um sítio Web utilizando Java, consulte o artigo da documentação Extrair imagens do sítio Web em Java .
Nota: É essencial cumprir as leis de direitos de autor e obter as permissões ou licenças adequadas antes de utilizar comercialmente as imagens guardadas. Não apoiamos a extração e utilização de ficheiros de outras pessoas para fins comerciais sem o seu consentimento.
Introdução à biblioteca de analisador de HTML Java
A API HTML é uma biblioteca avançada de web scraping e análise de HTML. Pode-se criar, editar, navegar pelos nós, extrair dados e converter arquivos HTML, XHTML e MHTML em PDF, Imagens e outros formatos. Além disso, ele também lida com CSS, HTML Canvas, SVG, XPath e JavaScript pronto para uso para estender as tarefas de manipulação. É uma API independente e não requer nenhuma instalação de software.
Você pode baixar sua versão mais recente diretamente do
Aspose Maven Repository
e instalá-lo em seu projeto baseado em Maven adicionando as seguintes configurações ao pom.xml.
Repositório
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependência
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>version of aspose-html API</version>
<classifier>jdk17</classifier>
</dependency>
Outras funcionalidades suportadas
Use a biblioteca Aspose.HTML for Java para analisar e manipular documentos baseados em HTML. Claro, seguro e simples!