Cara Mengekstrak Gambar dari HTML

Kemampuan mengekstrak gambar dari HTML penting untuk berbagai aplikasi seperti web scraping dan analisis konten. Aspose.HTML untuk .NET adalah pustaka tangguh yang menyederhanakan proses ini dengan menawarkan seperangkat alat kepada pengembang untuk menavigasi dan mengumpulkan informasi dari dokumen HTML dengan lancar. Mari jelajahi cara mengekstrak gambar dari dokumen HTML.

Pertama, pastikan Anda telah Aspose.HTML untuk .NET terinstal di proyek Anda. Proses instalasi perpustakaan ini cukup sederhana. Buka manajer paket NuGet, cari Aspose.HTML, dan instal. Anda juga dapat menggunakan perintah berikut dari Package Manager Console:


Instal Aspose.HTML untuk .NET

Install-Package Aspose.HTML



Ekstrak Gambar dari HTML menggunakan C#

Dengan menggunakan pustaka kelas Aspose.HTML for .NET , Anda dapat dengan mudah membuat aplikasi Anda sendiri, karena API kami menyediakan seperangkat alat canggih untuk menganalisis dan mengumpulkan informasi dari dokumen HTML. Jika Anda ingin menggunakan fitur pengikisan data HTML di produk Anda atau mengekstrak data dari HTML secara terprogram, lihat contoh kode di bawah. Baik Anda membuat web scraper atau penganalisis konten, Aspose.HTML menjadikan ekstraksi gambar sebagai proses yang intuitif. Anda dapat mengunduh semua gambar dari dokumen HTML dengan beberapa baris kode C#:


Kode C# untuk mengekstrak gambar dari HTML

using Aspose.Html;
using Aspose.Html.Net;
using System.Linq;
using System.IO;
...

    // Prepare a path to a source HTML file
    string documentPath = Path.Combine(DataDir, "images-from-html.html");

    // Create an instance of an HTML document
    using (var document = new HTMLDocument(documentPath))
    {
        // Collect all <img> elements
        var images = document.GetElementsByTagName("img");

        // Create a distinct collection of relative image URLs
        var urls = images.Select(element => element.GetAttribute("src")).Distinct();

        // Create absolute image URLs
        var absUrls = urls.Select(src => new Url(src, document.BaseURI));

        foreach (var url in absUrls)
        {
            // Create an image request message
            using var request = new RequestMessage(url);

            // Download image
            using var response = document.Context.Network.Send(request);

            var imgName = url.Pathname.Split('/').Last();

            //Check the image in base64 encoding
            if (url.Protocol == "data:" && response.Headers.ContentType.MediaType.Type == "image")
            {
                // Get the image type and set to extension
                imgName = "img1." + response.Headers.ContentType.MediaType.SubType;
            }

            // Check whether a response is successful
            if (response.IsSuccess)
            {
                // Save image to a local file system
                File.WriteAllBytes(Path.Combine(OutputDir, imgName), response.Content.ReadAsByteArray());
            }
        }
    }



Langkah-langkah Mengekstrak Gambar dari HTML

  1. Gunakan konstruktor HTMLDocument() untuk menginisialisasi dokumen HTML.
  2. Gunakan metode GetElementsByTagName("img") untuk mengumpulkan semua elemen <img>. Metode ini mengembalikan daftar elemen <img> dokumen HTML.
  3. Gunakan metode Select() untuk membuat kumpulan URL gambar relatif yang berbeda dan metode GetAttribute("src") untuk mengekstrak atribut src dari setiap elemen <img> .
  4. Buat URL gambar absolut menggunakan kelas Url dan properti BaseURI dari kelas HTMLDocument.
  5. Untuk setiap URL absolut, buat permintaan menggunakan konstruktor RequestMessage(url) .
  6. Gunakan metode Context.Network.Send(request) dokumen untuk mengirim permintaan. Responsnya diperiksa untuk memastikan berhasil.
  7. Jika respons berhasil, gunakan metode File.WriteAllBytes() untuk menyimpan setiap gambar ke file lokal.
  8. Dalam cuplikan kode, kami memeriksa apakah gambar dalam format berkode Base64 dengan memeriksa protokol URL dan, jika benar, mengatur nama dan ekstensi gambar.

Aspose.HTML untuk .NET adalah pustaka penguraian HTML tingkat lanjut. Seseorang dapat membuat, mengedit, menavigasi node, mengekstrak data, menggabungkan dan mengonversi file HTML, XHTML, MD, EPUB, dan MHTML ke PDF, DOCX, Gambar, dan format populer lainnya. Selain itu, ia juga menangani CSS, HTML Canvas, SVG, XPath, dan JavaScript secara langsung untuk memperluas tugas manipulasi. Untuk detail lebih lanjut tentang instalasi pustaka C# dan persyaratan sistem, silakan merujuk ke Dokumentasi Aspose.HTML .

Fitur perpustakaan C# yang didukung lainnya

Gunakan pustaka Aspose.HTML untuk .NET untuk mengurai dan memanipulasi dokumen berbasis HTML. Jelas, aman dan sederhana!