Comment extraire des images d'un site web
La possibilité d’extraire des images à partir de HTML est importante pour diverses applications telles que le web scraping et l’analyse de contenu. Aspose.HTML for Java est une bibliothèque robuste qui simplifie ce processus en offrant aux développeurs un ensemble d’outils pour naviguer et collecter des informations à partir de documents HTML de manière transparente. Voyons maintenant comment extraire des images de documents HTML.
Extraire des images d'un document HTML à l'aide de Java
En utilisant la bibliothèque Aspose.HTML for Java, vous pouvez facilement créer votre propre application, car notre API fournit un ensemble robuste d’outils pour l’analyse et l’extraction d’informations à partir de documents HTML. Si vous souhaitez utiliser les fonctionnalités d’analyse des données HTML dans votre produit ou extraire par programme des données à partir de HTML, consultez l’exemple de code ci-dessous.
Code Java pour extraire des images d'un site 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());
}
}
Etapes pour extraire des images d'un site web
- Utilisez le constructeur
HTMLDocument(
Url
) pour initialiser un document HTML. - Utilisez la méthode
getElementsByTagName(
"img"
) pour collecter tous les éléments<img>
du document. La méthode renvoie une collection d’éléments<img>
présents sur la page web. - Itérer à travers les éléments
<img>
et utiliser la méthode getAttribute("src"
) pour extraire l’attributsrc
de chaque élément<img>
. - Créez des URLs d’images absolues en utilisant la classe
Url
et la propriété
BaseURI
de la classeHTMLDocument
. - Pour chaque URL d’image absolue, créez une requête en utilisant le constructeur
RequestMessage(
url
) et envoyez-la. La réponse est vérifiée pour s’assurer qu’elle a été envoyée avec succès. - Si la réponse est positive, extrayez les données de l’image et enregistrez-les sur votre système de fichiers local en utilisant
FileHelper.writeAllBytes()
.
Avec Aspose.HTML for Java, vous pouvez facilement créer un outil qui analyse une page HTML, identifie les sources d’images et télécharge ces images. Il s’agit d’une solution puissante pour ceux qui ont besoin de collecter des images à des fins d’analyse, d’archivage ou de création de contenu, sans avoir à le faire manuellement. Pour en savoir plus sur l’extraction programmatique de différents types d’images d’un site web à l’aide de Java, reportez-vous à l’article de documentation Extraire des images d’un site web en Java .
Note: Il est essentiel de respecter les lois sur les droits d’auteur et d’obtenir les autorisations ou licences appropriées avant d’utiliser les images sauvegardées à des fins commerciales. Nous ne sommes pas favorables à l’extraction et à l’utilisation de fichiers d’autres personnes à des fins commerciales sans leur consentement.
Premiers pas avec la bibliothèque Java HTML Parser
L’API HTML est une bibliothèque avancée de grattage Web et d’analyse HTML. On peut créer, éditer, naviguer à travers les nœuds, extraire des données et convertir des fichiers HTML, XHTML et MHTML en PDF, Images et autres formats. De plus, il gère également CSS, HTML Canvas, SVG, XPath et JavaScript prêts à l’emploi pour étendre les tâches de manipulation. Il s’agit d’une API autonome et ne nécessite aucune installation de logiciel.
Vous pouvez télécharger sa dernière version directement depuis
Aspose Maven Repository
et l’installer dans votre projet basé sur Maven en ajoutant les configurations suivantes au fichier pom.xml.
Dépôt
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dépendance
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>version of aspose-html API</version>
<classifier>jdk17</classifier>
</dependency>
Autres fonctions prises en charge
Utilisez la bibliothèque Aspose.HTML for Java pour analyser et manipuler des documents HTML. Clair, sûr et simple !