Pourquoi extraire des images du HTML ? (Avantages et cas d’utilisation)

HTML les fichiers incluent souvent plusieurs types d’images, tels que : les images standard avec la balise <img>, les images inline en Base64 (data:image/...), les images définies dans le CSS (par exemple, background-image), les icônes et graphiques SVG et les images liées de manière externe ou les ressources d’images intégrées. L’extraction d’images à partir de documents HTML est utile pour :

  • Migration de contenu
  • Extraire des médias des e-mails HTML
  • Web scraping and analysis
  • Préparation des ensembles de données d’entraînement pour l’apprentissage automatique
  • Convertir HTML en PDF/Word tout en préservant les médias
  • Archiver des pages web avec des actifs originaux

API de traitement HTML

GroupDocs.Parser Cloud SDK for .NET est une API robuste basée sur REST capable de traiter tous les formats de fichiers populaires, y compris les fichiers HTML. Elle vous permet de manipuler des fichiers HTML et vous pouvez l’utiliser pour :

  • Analysez les documents HTML
  • Extraire les images intégrées et en ligne
  • Extraire des images encodées en Base64
  • Détecter les références d’image externes
  • Récupérer les métadonnées (taille, type, chemin)
  • Télécharger les images extraites localement
  • Automatiser les flux de travail de parsing HTML

Formats d’image pris en charge

Prérequis

  • Un compte GroupDocs Cloud (ID Client et Secret Client).
  • .NET 6.0+ installé.
  • Visual Studio ou IDE compatible.
  • Paquet NuGet : GroupDocs.Parser-Cloud

Installer via NuGet

dotnet add package GroupDocs.Parser-Cloud --version 25.7.0

Extraire des images du HTML en utilisant C#

Voici ci-dessous un exemple complet en C# démontrant l’extraction d’images HTML en utilisant l’API Cloud.

Étape 1 — Initialiser l’API :

var config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
var parserApi = new ParserApi(config);
var fileApi = new FileApi(config);

Étape 2 — Fournir des informations sur le fichier HTML pour l’analyse :

var fileInfo = new FileInfo { FilePath = "input.html" };
var options = new ImagesOptions { FileInfo = fileInfo };
var request = new ImagesRequest(options);

Étape 3 — Extraire les images du HTML (Intégrées, En ligne et Base64) :

var response = parserApi.Images(request);

foreach (var image in response.Images)
{
    Console.WriteLine($"Source: {image.Path}, Type: {image.MediaType}, Size: {image.Size}");
}

Étape 4 — Télécharger les images extraites (compatible avec macOS et Windows) :

var outputDirectory = "/Users/nayyer/Downloads/html-images";
Directory.CreateDirectory(outputDirectory);

foreach (var img in response.Images)
{
    var cloudImagePath = img.Path.Replace("\\", "/");

    var downloadRequest = new DownloadFileRequest(path: cloudImagePath);
    using (var stream = fileApi.DownloadFile(downloadRequest))
    {
        var localPath = Path.Combine(outputDirectory, Path.GetFileName(cloudImagePath));

        using (var fileStream = File.Create(localPath))
        {
            stream.CopyTo(fileStream);
        }

        Console.WriteLine($"Downloaded: {localPath}");
    }
}
// Pour d'autres exemples, veuillez visiter https://github.com/groupdocs-parser-cloud/groupdocs-parser-cloud-dotnet

var configuration = new Configuration("XXXXXXX-XXXXXXX-XXXXXX-XXXXXX", "XXXXXXXXXXXX");
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

var parserApi = new ParserApi(config);
var fileApi = new FileApi(config);

var fileInfo = new FileInfo { FilePath = "input.html" };
var options = new ImagesOptions { FileInfo = fileInfo };
var request = new ImagesRequest(options);

var response = parserApi.Images(request);

foreach (var image in response.Images)
{
    Console.WriteLine($"Source: {image.Path}, Type: {image.MediaType}, Size: {image.Size}");
}

var outputDirectory = "/Users/nayyer/Downloads/html-images";
Directory.CreateDirectory(outputDirectory);

foreach (var img in response.Images)
{
    var cloudImagePath = img.Path.Replace("\\", "/");

    var downloadRequest = new DownloadFileRequest(path: cloudImagePath);
    using (var stream = fileApi.DownloadFile(downloadRequest))
    {
        var localPath = Path.Combine(outputDirectory, Path.GetFileName(cloudImagePath));

        using (var fileStream = File.Create(localPath))
        {
            stream.CopyTo(fileStream);
        }

        Console.WriteLine($"Downloaded: {localPath}");
    }
}

Télécharger des images HTML en utilisant cURL

À part l’extrait de code C#, nous pouvons également utiliser des commandes cURL pour télécharger des images à partir de fichiers HTML.

Étape 1 — Générer le jeton d’accès : La première étape de cette approche consiste à générer un jeton d’accès JWT basé sur les informations d’identification du client.

curl -v -X POST "https://api.groupdocs.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET" \
-H "Content-Type: application/x-www-form-urlencoded"

*Step 2 — Extract Images:

curl -v -X POST "https://api.groupdocs.cloud/v1.0/parser/images" \
-H  "accept: application/json" \
-H  "authorization: Bearer {ACCESS_TOKEN}" \
-H  "Content-Type: application/json" \
-d "{ "FileInfo": { "FilePath": "inbox/input.html", "StorageName": "internal" }, "OutputPath": "extracted-images"}"

Essayez l’extracteur d’images HTML en ligne gratuit

Nous offrons un Extracteur d’Image HTML en Ligne gratuit développé sur la base de l’API Cloud de GroupDocs.Parser. Aucune installation de logiciel ou téléchargement requis et évaluer les capacités de l’API REST dans le navigateur web.

extract html images

Conclusion

Dans cet article, nous avons appris la manière la plus précise d’extraire des images du HTML en utilisant l’API REST .NET. Grâce à cette API, vous pouvez :

  • Extraire les images intégrées et en ligne
  • Analyser les images codées en Base64
  • Extraire les images de fond CSS
  • Récupérer les métadonnées pour les images liées
  • Téléchargez toutes les images par programme.

Par conséquent, c’est la meilleure solution pour automatiser l’extraction de médias HTML dans les applications C#.

Articles connexes

Nous recommandons vivement de visiter les articles suivants pour en savoir plus sur :

Questions Fréquemment Posées (FAQ)

  1. Puis-je extraire des images intégrées en Base64 à partir de HTML ? Oui, l’API extrait automatiquement des images HTML en ligne et codées en Base64.

  2. L’API extrait-elle les images liées externes ? L’API extrait des métadonnées pour les images liées ; les télécharger est optionnel.

  3. Puis-je extraire des images référencées dans le CSS ? Oui, les images référencées via CSS en ligne ou intégré sont prises en charge.

  4. Quels formats d’image sont pris en charge ? JPG, PNG, BMP, GIF, TIFF, et d’autres types d’images courants.

  5. Y a-t-il un essai gratuit ? Oui. Vous pouvez créer un compte gratuit et obtenir 150 appels API gratuits par mois.