Warum Bilder aus HTML extrahieren? (Vorteile und Anwendungsfälle)

HTML Dateien enthalten oft mehrere Arten von Bildern, wie z.B.: Standard-<img>-Tag bilder, Base64-inline bilder (data:image/...), in CSS definierte Bilder (z.B. background-image), SVG Icons und Grafiken, extern verlinkte Bilder oder eingebettete Bildressourcen. Das Extrahieren von Bildern aus HTML Dokumenten ist nützlich für:

  • Inhaltsmigration
  • Extrahieren von Medien aus HTML-E-Mails
  • Web-Scraping und Analyse
  • Vorbereitung von Trainingsdatensätzen für maschinelles Lernen
  • HTML in PDF/Word konvertieren und Medien beibehalten
  • Archivieren von Webseiten mit originalen Inhalten

HTML Processing API

GroupDocs.Parser Cloud SDK für .NET ist eine robuste REST-basierte API, die in der Lage ist, alle gängigen Dateiformate, einschließlich HTML Dateien, zu verarbeiten. Sie ermöglicht es Ihnen, HTML Dateien zu bearbeiten, und Sie können sie verwenden, um:

  • Parse HTML Dokumente
  • Extract embedded and inline images
  • Extrahieren Sie Base64-codierte Bilder
  • Detect external image references
  • Metadaten abrufen (Größe, Typ, Pfad)
  • Laden Sie extrahierte Bilder lokal herunter
  • Automatisieren Sie HTML-Parser-Workflows

Unterstützte Bildformate

Voraussetzungen

  • Ein GroupDocs Cloud-Konto (Client-ID & Client-Geheimnis).
  • .NET 6.0+ installiert.
  • Visual Studio oder eine kompatible IDE.
  • NuGet-Paket: GroupDocs.Parser-Cloud

Installieren Sie über NuGet

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

Extrahieren von Bildern aus HTML mit C#

Unten steht ein vollständiges C#-Beispiel zur Demonstration der HTML bildextraktion unter Verwendung der Cloud-API.

Schritt 1 — API initialisieren:

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

Schritt 2 — Informationen zur HTML-Datei für das Parsen bereitstellen:

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

Schritt 3 — Bilder aus HTML extrahieren (eingebettet, inline & Base64):

var response = parserApi.Images(request);

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

Schritt 4 — Herunterladen extrahierter Bilder (macOS und Windows-kompatibel):

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}");
    }
}
// Für weitere Beispiele besuchen Sie bitte 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}");
    }
}

Download HTML bilder mit cURL

Abgesehen von C#-Code-Snippets können wir auch cURL-Befehle verwenden, um Bilder aus HTML Dateien herunterzuladen.

Schritt 1 — Zugriffstoken generieren: Der erste Schritt in diesem Ansatz besteht darin, ein JWT-Access-Token basierend auf Client-Anmeldeinformationen zu generieren.

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"}"

Versuchen Sie den kostenlosen Online-HTML bilder-Extractor

Wir bieten einen kostenlosen Online- Online HTML Image Extractor an, der auf der GroupDocs.Parser Cloud API basiert. Keine Softwareinstallation oder -download erforderlich, um die Funktionen der REST API im Webbrowser zu evaluieren.

extract html images

Schlussfolgerung

In diesem Artikel haben wir die genaueste Methode gelernt, um Bilder aus HTML mit der .NET REST API zu extrahieren. Mit dieser API können Sie:

  • Extrahieren Sie eingebettete und Inline bilder
  • Base64-kodierte Bilder analysieren
  • Extrahieren von CSS-Hintergrundbildern
  • Metadaten für verlinkte Bilder abrufen
  • Lade alle Bilder programmgesteuert herunter

Daher ist es die beste Lösung zur Automatisierung der HTML-Medienextraktion in C#-Anwendungen.

Verwandte Artikel

Wir empfehlen dringend, die folgenden Artikel zu besuchen, um mehr zu erfahren über:

Häufig gestellte Fragen (FAQs)

  1. Kann ich in HTML eingebettete Base64 bilder extrahieren? Ja, die API extrahiert automatisch Base64-kodierte und eingebettete HTML bilder.

  2. Extrahiert die API extern verlinkte Bilder? Die API extrahiert Metadaten für verlinkte Bilder; das Herunterladen ist optional.

  3. Kann ich Bilder, die in CSS referenziert werden, extrahieren? Ja, Bilder, die über Inline oder eingebettetes CSS referenziert werden, werden unterstützt.

  4. Welche Bildformate werden unterstützt? JPG, PNG, BMP, GIF, TIFF und andere gängige Bildtypen.

  5. Gibt es eine kostenlose Testversion? Ja. Sie können ein kostenloses Konto erstellen und 150 kostenlose API-Aufrufe pro Monat erhalten.