Загрузка изображений с веб-сайта на C#

Разработчики .NET теперь могут разработать массовый загрузчик изображений для бизнес-программ. Aspose.HTML for .NET — это полноценная служба извлечения изображений, предлагающая огромный набор классов и методов для программного извлечения изображений из Интернета. Кроме того, для использования этой библиотеки C# не требуется сложной эхо-системы, и вы можете легко загружать изображения с веб-сайта на C#. Кроме того, вы можете извлекать как графические, так и текстовые данные, используя этот Aspose.HTML for .NET, реализацию которого вы можете увидеть здесь. Итак, давайте начнем этот пост в блоге, не говоря ни слова.

В этом руководстве мы рассмотрим следующие разделы:

  1. Установка службы извлечения изображений
  2. Загрузка изображений с веб-сайта на C# — пример кода
  3. Онлайн-экстрактор данных

Установка службы извлечения изображений

Таким образом, вы можете программно анализировать HTML-страницы, установив этот C# API. Помимо извлечения данных, он также позволяет конвертировать HTML-страницы в другие популярные форматы файлов. Поэтому, если на вашем компьютере установлен .NET, установите эту службу извлечения изображений, загрузив файл DLL или вы можете выполнить следующую команду в диспетчере пакетов NuGet:

PM> Install-Package Aspose.Html

Процесс установки очень прост, даже если у вас возникнут какие-либо трудности, вы можете просмотреть инструкции по установке здесь.

сервис извлечения изображений

Загрузка изображений с веб-сайта на C# — пример кода

Теперь мы можем реализовать функцию программного извлечения изображений из Интернета.

Следующие шаги демонстрируют, как загружать изображения с веб-сайта на C#:

  • Откройте веб-страницу, из которой вы хотите извлечь изображения, инициализировав объект класса HTMLDocument.
  • Соберите все элементы «img», вызвав метод GetElementsByTagName.
  • Вызовите метод Select, чтобы создать отдельную коллекцию относительных URL-адресов изображений и создать абсолютные URL-адреса изображений.
  • Перебрать все абсолютные URL-адреса изображений.
  • Создайте сообщение запроса изображения, инициализировав объект класса RequestMessage.
  • Извлеките изображения, вызвав метод Context.Network.Send(request).
  • Проверьте, успешен ли ответ, и сохраните изображение в локальной файловой системе, вызвав метод WriteAllBytes.

В следующем примере кода показано, как программно разработать массовый загрузчик изображений:

using Aspose.Html;
using Aspose.Html.Net;

namespace AsposeHTML
{
    class HTML
    {
        // Загрузите изображения с веб-сайта с помощью службы извлечения изображений
        static void Main(string[] args)
        {
            // Определите путь к рабочему каталогу.
            String dataDir = "/files/";
            // Откройте веб-страницу, из которой вы хотите извлечь изображения, инициализировав объект класса HTMLDocument. 
            using var document = new HTMLDocument("https://blog.aspose.com/ru/tex/latex-mathematical-expressions-using-latex-to-image-api/");
            // Собрать все<img> элементы, вызвав метод GetElementsByTagName. 
            var images = document.GetElementsByTagName("img");
            // Вызовите метод Select, чтобы создать отдельную коллекцию относительных URL-адресов изображений и создать абсолютные URL-адреса изображений. 
            var urls = images.Select(element => element.GetAttribute("src")).Distinct();
            var absUrls = urls.Select(src => new Url(src, document.BaseURI));
            // Перебрать все абсолютные URL-адреса изображений. 
            foreach (var url in absUrls)
            {
                // Создайте сообщение запроса изображения, инициализировав объект класса RequestMessage.
                using var request = new RequestMessage(url);
                // Извлеките изображения, вызвав метод Context.Network.Send(request).
                using var response = document.Context.Network.Send(request);
                // Проверьте, успешен ли ответ, и сохраните изображение в локальной файловой системе, вызвав метод WriteAllBytes.
                if (response.IsSuccess)
                {
                    File.WriteAllBytes(Path.Combine(dataDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
                }
            }
        }
    }
}

Вы можете увидеть результат на изображении ниже:

извлекать изображения из Интернета

Онлайн-экстрактор данных

Существует онлайн инструмент на базе Aspose.HTML. Однако этот онлайн-экстрактор данных корпоративного уровня оснащен удобным пользовательским интерфейсом, и вы можете выполнить извлечение данных одним щелчком мыши. Более того, он основан на веб-интерфейсе и не требует создания учетной записи. Итак, просто откройте этот инструмент в веб-браузере и начните извлечение важных данных. Фактически, в ближайшем будущем к этому онлайн-инструменту будут добавлены дополнительные функции.

онлайн-экстрактор данных

Извлечение изображений из Интернета — получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать эту услугу извлечения изображений без ограничений оценки.

Заключение

На этом мы завершаем эту публикацию в блоге и надеемся, что вы узнали, как программно загружать изображения с веб-сайта на C#. Кроме того, мы также рассмотрели шаги и фрагмент кода для разработки массового загрузчика изображений. Кроме того, вы можете извлекать изображения из Интернета, написав несколько строк кода на C#, используя Aspose.HTML for .NET. Итак, вы можете найти подробную документацию по использованию и разработке. Более того, ссылки API послужат отправной точкой для разработчиков .NET.

Пожалуйста, оставайтесь на связи с aspose.com для получения предстоящих публикаций в блоге.

Помощь доступна

Вы можете поделиться своими вопросами или пожеланиями на нашем форуме.

Часто задаваемые вопросы – Часто задаваемые вопросы

Как загрузить изображение по URL-адресу?

Вы можете загружать изображения с веб-сайта на C#, используя Aspose.HTML for .NET. Кроме того, посетите эту ссылку, чтобы узнать, как реализовать эту функциональность с помощью службы извлечения изображений.

Как извлечь данные онлайн?

Этот онлайн экстрактор данных позволяет надежно и эффективно извлекать текстовые и графические данные с веб-сайтов.

Смотрите также