Cómo extraer imágenes de un sitio web
La capacidad de extraer imágenes de HTML es importante para diversas aplicaciones como el web scraping y el análisis de contenidos. Aspose.HTML for Java es una robusta biblioteca que simplifica este proceso ofreciendo a los desarrolladores un conjunto de herramientas para navegar y recopilar información de documentos HTML sin problemas. Exploremos cómo extraer imágenes de documentos HTML.
Extraer imágenes de HTML usando Java
Utilizando la biblioteca Aspose.HTML for Java, puede crear fácilmente su propia aplicación, ya que nuestra API proporciona un sólido conjunto de herramientas para analizar y extraer información de documentos HTML. Si desea utilizar las funciones de análisis sintáctico de datos HTML en su producto o extraer datos de HTML mediante programación, consulte el siguiente ejemplo de código.
Código Java para extraer imágenes de un sitio web
// 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());
}
}
Pasos para extraer imágenes de un sitio web
- Utilice el constructor
HTMLDocument(
Url
) para inicializar un documento HTML. - Utilice el método
getElementsByTagName(
"img"
) para recoger todos los elementos<img>
del documento. El método devuelve una colección de elementos<img>
presentes en la página web. - Recorre los elementos
<img>
y utiliza el método getAttribute("src"
) para extraer el atributosrc
de cada elemento<img>
. - Crea URLs absolutas de imágenes utilizando la clase
Url
y la propiedad
BaseURI
de la claseHTMLDocument
. - Para cada URL de imagen absoluta, crea una petición utilizando el constructor
RequestMessage(
url
) y envíala. La respuesta se comprueba para asegurar que se ha realizado correctamente. - Si la respuesta ha sido satisfactoria, extraiga los datos de la imagen y guárdelos en su sistema de archivos local utilizando
FileHelper.writeAllBytes()
.
Con Aspose.HTML for Java, puede crear fácilmente una herramienta que analice una página HTML, identifique las fuentes de las imágenes y las descargue. Se trata de una potente solución para quienes necesitan recopilar imágenes para su análisis, archivo o creación de contenidos, sin la molestia de hacerlo manualmente. Para obtener más información sobre cómo extraer mediante programación distintos tipos de imágenes de un sitio web utilizando Java, consulte el artículo de documentación Extraer imágenes de un sitio web en Java .
Nota: Es esencial cumplir con las leyes de derechos de autor y obtener los permisos o licencias apropiados antes de utilizar comercialmente las imágenes guardadas. No apoyamos la extracción y uso de archivos ajenos con fines comerciales sin su consentimiento.
Introducción a la biblioteca del analizador HTML de Java
HTML API es una biblioteca avanzada de web scraping y análisis de HTML. Uno puede crear, editar, navegar a través de los nodos, extraer datos y convertir archivos HTML, XHTML y MHTML a PDF, imágenes y otros formatos. Además, también maneja CSS, HTML Canvas, SVG, XPath y JavaScript listos para usar para extender las tareas de manipulación. Es una API independiente y no requiere la instalación de ningún software.Puede descargar su última versión directamente desde Aspose Maven Repository e instalarla dentro de su proyecto basado en Maven agregando las siguientes configuraciones a pom.xml.
Repositorio
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependencia
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>version of aspose-html API</version>
<classifier>jdk17</classifier>
</dependency>
Otras funciones compatibles
Utilice la biblioteca Aspose.HTML for Java para analizar y manipular documentos basados en HTML. Claro, seguro y sencillo.