Як завантажити зображення з HTML
Здатність видобувати та завантажувати зображення з HTML важлива для різних програм, таких як веб-збирання та аналіз вмісту. Aspose.HTML for .NET – gesце надійна бібліотека, яка спрощує цей процес, пропонуючи розробникам набір інструментів для легкої навігації та збору інформації з документів HTML. Давайте дослідимо, як витягувати зображення з документів HTML.
По-перше, переконайтеся, що у вашому проекті встановлено Aspose.HTML for .NET . Процес додавання цієї бібліотеки досить простий. Відкрийте менеджер пакетів NuGet, знайдіть Aspose.HTML і встановіть. Ви також можете використати таку команду з консолі диспетчера пакетів:
Встановіть Aspose.HTML for .NET
Install-Package Aspose.HTML
Завантаження зображень із HTML за допомогою C#
Використовуючи бібліотеку класів Aspose.HTML for .NET , ви можете легко створити власну програму, оскільки наш API надає потужний набір інструментів для аналізу та збору інформації з документів HTML. Якщо ви хочете використовувати функції вилучення даних HTML у своєму продукті або програмно витягувати дані з HTML, перегляньте приклад коду нижче. Незалежно від того, створюєте ви веб-скребки чи аналізатори вмісту, Aspose.HTML робить вилучення зображень інтуїтивно зрозумілим процесом. Ви можете завантажити всі зображення з документа HTML із кількома рядками коду C#:
Код C# для вилучення зображень із 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());
}
}
}
Кроки для пошуку та завантаження зображень із HTML
- Використовуйте конструктор HTMLDocument() , щоб ініціалізувати документ HTML.
- Використовуйте метод
GetElementsByTagName(
"img"
) , щоб зібрати всі елементи<img>
. Метод повертає список елементів<img>
документа HTML. - Використовуйте метод
Select()
, щоб створити окрему колекцію відносних URL-адрес зображень, і метод GetAttribute("src"
) , щоб отримати атрибутsrc
кожного елемента<img>
. - Створіть абсолютні URL-адреси зображень за допомогою класу
Url
і властивості
BaseURI
класуHTMLDocument
. - Для кожної абсолютної URL-адреси створіть запит за допомогою конструктора
RequestMessage(
url
) . - Використовуйте метод документа
Context.Network.Send(request)
, щоб надіслати запит. Відповідь перевіряється, щоб переконатися, що вона була успішною. - Якщо відповідь була успішною, скористайтеся методом
File.WriteAllBytes()
, щоб зберегти кожне зображення в локальному файлі. - У фрагменті коду ми перевіряємо, чи є зображення у форматі Base64, досліджуючи протокол URL-адреси, і, якщо це правда, встановлюємо назву та розширення зображення.
Aspose.HTML for .NET – це вдосконалена бібліотека аналізу HTML, яка дозволяє створювати, редагувати та конвертувати файли HTML, XHTML, MD, EPUB і MHTML. Він підтримує різні популярні формати, включаючи PDF, DOCX і зображення. Бібліотека легко обробляє CSS, HTML Canvas, SVG, XPath і JavaScript, розширюючи свої можливості маніпулювання. Докладніше про інсталяцію та системні вимоги ви знайдете у документації Aspose.HTML .
Інші підтримувані функції бібліотеки C#
Використовуйте бібліотеку Aspose.HTML for .NET для аналізу та обробки документів на основі HTML. Зрозуміло, безпечно і просто!