Як завантажити зображення з 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

  1. Використовуйте конструктор HTMLDocument() , щоб ініціалізувати документ HTML.
  2. Використовуйте метод GetElementsByTagName("img") , щоб зібрати всі елементи <img>. Метод повертає список елементів <img> документа HTML.
  3. Використовуйте метод Select(), щоб створити окрему колекцію відносних URL-адрес зображень, і метод GetAttribute("src") , щоб отримати атрибут src кожного елемента <img> .
  4. Створіть абсолютні URL-адреси зображень за допомогою класу Url і властивості BaseURI класу HTMLDocument.
  5. Для кожної абсолютної URL-адреси створіть запит за допомогою конструктора RequestMessage(url) .
  6. Використовуйте метод документа Context.Network.Send(request), щоб надіслати запит. Відповідь перевіряється, щоб переконатися, що вона була успішною.
  7. Якщо відповідь була успішною, скористайтеся методом File.WriteAllBytes(), щоб зберегти кожне зображення в локальному файлі.
  8. У фрагменті коду ми перевіряємо, чи є зображення у форматі 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. Зрозуміло, безпечно і просто!