Cara Mengekstrak Gambar dari HTML
Kemampuan mengekstrak gambar dari HTML penting untuk berbagai aplikasi seperti web scraping dan analisis konten. Aspose.HTML for .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 for .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 for .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
- Gunakan konstruktor HTMLDocument() untuk menginisialisasi dokumen HTML.
- Gunakan metode
GetElementsByTagName(
"img"
) untuk mengumpulkan semua elemen<img>
. Metode ini mengembalikan daftar elemen<img>
dokumen HTML. - Gunakan metode
Select()
untuk membuat kumpulan URL gambar relatif yang berbeda dan metode GetAttribute("src"
) untuk mengekstrak atributsrc
dari setiap elemen<img>
. - Buat URL gambar absolut menggunakan kelas
Url
dan properti
BaseURI
dari kelasHTMLDocument
. - Untuk setiap URL absolut, buat permintaan menggunakan konstruktor
RequestMessage(
url
) . - Gunakan metode
Context.Network.Send(request)
dokumen untuk mengirim permintaan. Responsnya diperiksa untuk memastikan berhasil. - Jika respons berhasil, gunakan metode
File.WriteAllBytes()
untuk menyimpan setiap gambar ke file lokal. - 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 for .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 for .NET untuk mengurai dan memanipulasi dokumen berbasis HTML. Jelas, aman dan sederhana!