Neden HTML’den Görüntü Çıkaralım? (Faydalar ve Kullanım Senaryoları)

HTML dosyaları genellikle aşağıdaki gibi birkaç tür görüntü içerir: Standart <img> etiketi görüntüleri, Base64 satır içi görüntüler (data:image/...), CSS’de tanımlı görüntüler (örneğin, background-image), SVG simgeleri ve grafikler, harici olarak bağlantılı görüntüler veya gömülü görüntü kaynakları. HTML belgelerinden görüntü çıkarmak şunu yapmak için yararlıdır:

  • İçerik taşınması
  • HTML e-postalardan medya çıkarma
  • Web scraping ve analiz
  • Makine öğrenimi için eğitim veri setleri hazırlama
  • HTML’yi medya koruyarak PDF/Word’e dönüştürme
  • Orijinal varlıklarla web sayfalarını arşivleme

HTML İşleme API’si

GroupDocs.Parser Cloud SDK for .NET, HTML dosyaları da dahil olmak üzere tüm popüler dosya formatlarını işleyebilen sağlam bir REST tabanlı API’dir. HTML dosyalarını manipüle etmenizi sağlar ve bunu yapmak için kullanabilirsiniz:

  • HTML belgelerini ayrıştırın
  • Gömülü ve satır içi resimleri çıkarın
  • Base64 kodlu resimleri çıkarın.
  • Dış resim referanslarını tespit et
  • Metadata’yı al (boyut, tür, yol)
  • Yerel olarak çıkarılmış resimleri indirin
  • HTML ayrıştırma iş akışlarını otomatikleştirin

Desteklenen Görüntü Formatları

Ön koşullar

  • A GroupDocs Cloud hesabı (Müşteri Kimliği ve Müşteri Sırrı).
  • .NET 6.0+ yüklü.
  • Visual Studio veya uyumlu IDE.
  • NuGet paketi: GroupDocs.Parser-Cloud

NuGet üzerinden yükleyin

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

HTML’den Resim Çıkarma C# ile

Aşağıda, Cloud API kullanarak HTML resim çıkarımını gösteren tam C# örneği verilmiştir.

Adım 1 — API’yi Başlat:

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

Adım 2 — Ayrıştırma için HTML Dosya Bilgilerini Sağlayın:

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

Adım 3 — HTML’den Görüntüleri Çıkar (Gömülü, Satır İçi ve Base64):

var response = parserApi.Images(request);

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

Adım 4 — İndirilen Çıkarılmış Görseller (macOS ve Windows Uyumlu):

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}");
    }
}
// Daha fazla örnek için, lütfen ziyaret edin 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}");
    }
}

HTML Görselleri cURL ile İndirin

C# kod parçacığı dışında, HTML dosyalarından resimleri indirmek için cURL komutlarını da kullanabiliriz.

Adım 1 — Erişim Token’ı Oluştur: Bu yaklaşımın ilk adımı, istemci kimlik bilgilerine dayalı bir JWT erişim belirteci oluşturmaktır.

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

Ücretsiz Çevrimiçi HTML Resim Çıkarıcı Deneyin

Ücretsiz bir çevrimiçi Online HTML Image Extractor sunuyoruz, bu GroupDocs.Parser Cloud API üzerine geliştirilmiştir. Yazılım kurulumu veya indirme gerekmez ve REST API’nin yeteneklerini web tarayıcısı içinde değerlendirin.

extract html images

Sonuç

Bu makalede, HTML’den görüntüleri .NET REST API kullanarak çıkarmanın en doğru yolunu öğrendik. Bu API’nin yardımıyla, şunları yapabilirsiniz:

  • Gömülü ve satır içi resimleri çıkarın
  • Base64 kodlu görüntüleri çözümle
  • CSS arka plan resimlerini çıkarın
  • Bağlantılı görüntüler için meta verileri al.
  • Tüm görselleri programatik olarak indirin

Bu nedenle, C# uygulamalarında HTML medya çıkarımını otomatikleştirmek için en iyi çözümdür.

İlgili Makaleler

Aşağıdaki makaleleri ziyaret etmenizi şiddetle tavsiye ederiz:

Sıkça Sorulan Sorular (SSS)

  1. HTML’den Base64 gömülü resimleri çıkarabilir miyim? Evet, API otomatik olarak Base64 kodlu ve inline HTML resimleri çıkarır.

  2. API, harici bağlantılı resimleri çıkarıyor mu? API, bağlantılı görseller için meta verileri çıkarır; bunları indirmek isteğe bağlıdır.

  3. CSS’te referans verilen görüntüleri çıkarabilir miyim? Evet, satır içi veya gömülü CSS aracılığıyla referans verilen görseller desteklenmektedir.

  4. Hangi resim formatları destekleniyor? JPG, PNG, BMP, GIF, TIFF ve diğer yaygın resim türleri.

  5. Ücretsiz deneme var mı? Evet. Ücretsiz bir hesap oluşturabilir ve aylık 150 ücretsiz API çağrısı alabilirsiniz.