Extraction programmatique de SVG à partir de sites 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 comment extraire des images SVG externes d’un site web.


Extraire des SVG de HTML à l'aide de Java

Avec la bibliothèque Aspose.HTML for Java, vous pouvez rapidement créer votre propre application en utilisant un ensemble d’outils robustes pour analyser et extraire des données à partir de documents HTML. L’exemple ci-dessous montre comment extraire tous les SVG externes d’un document HTML avec seulement quelques lignes de code Java.


Code Java pour extraire des SVG d'un site web

// Open a document you want to download external SVGs from
final HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net/");

// Collect all <img> elements
HTMLCollection images = document.getElementsByTagName("img");

// Create a distinct collection of relative image URLs
java.util.Set<String> urls = new HashSet<>();
for (Element element : images) {
    urls.add(element.getAttribute("src"));
}

// Filter out non SVG images
java.util.List<String> svgUrls = new ArrayList<>();
for (String url : urls) {
    if (url.endsWith(".svg")) {
        svgUrls.add(url);
    }
}
// Create absolute SVG image URLs
java.util.List<Url> absUrls = svgUrls.stream()
    .map(src -> new Url(src, document.getBaseURI()))
    .collect(Collectors.toList());

for (Url url : absUrls) {
    // Create a downloading request
    final RequestMessage request = new RequestMessage(url);

    // Download SVG image
    final ResponseMessage response = document.getContext().getNetwork().send(request);

    // Check whether 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 SVGs d'un document HTML

  1. Utilisez le constructeur HTMLDocument(Url) pour créer une instance de la classe HTMLDocument et passez l’URL du site web à partir duquel vous voulez extraire des images SVG externes.
  2. Utilisez la méthode getElementsByTagName("img") pour collecter tous les éléments <img>.
  3. Extraire l’attribut src de chaque élément image en utilisant la méthode getAttribute("src") et créer une collection distincte d’URLs d’images relatives.
  4. Filtrer uniquement les URLs des images SVG en vérifiant si chaque URL se termine par .svg, et les ajouter à une nouvelle liste.
  5. Créer des URLs d’images absolues en utilisant la classe Url et la propriété BaseURI de la classe HTMLDocument.
  6. Pour chaque URL absolue, créez une requête en utilisant le constructeur RequestMessage(url) . Envoyez chaque requête et vérifiez le succès de la réponse.
  7. Si la réponse est positive, utilisez le FileHelper.writeAllBytes() pour sauvegarder le contenu SVG sur le système de fichiers local.

Avec Aspose.HTML for Java, vous pouvez facilement créer un outil qui analyse une page web, identifie les sources d’images SVG et télécharge les SVG. Il s’agit d’une solution puissante pour ceux qui ont besoin de collecter des SVG à des fins d’analyse, d’archivage ou de création de contenu, sans avoir à le faire manuellement. Pour en savoir plus sur la manière d’extraire par programme différents types (en ligne et externes) de SVG d’un site web à l’aide de Java, reportez-vous à l’article de documentation Extraire des SVG d’un site web en Java .

Note: Il est important 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 soutenons pas 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!