Как извлечь изображения с веб-сайта

Возможность извлекать изображения из HTML важна для различных приложений, таких как веб-скраппинг и анализ контента. Aspose.HTML for Java – это надежная библиотека, которая упрощает этот процесс, предлагая разработчикам набор инструментов для удобной навигации и сбора информации из HTML-документов. Давайте рассмотрим, как извлекать изображения из HTML-документов.


Извлечение изображений из HTML с помощью Java

Используя библиотеку Aspose.HTML for Java, вы можете легко создать собственное приложение, поскольку наш API предоставляет надежный набор инструментов для разбора и извлечения информации из HTML-документов. Если вы хотите использовать функции разбора HTML-данных в своем продукте или программно извлекать данные из HTML, рассмотрите пример кода ниже.


Java-код для извлечения изображений с веб-сайта

// Open a document you want to download images from
final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Collect all <img> elements
HTMLCollection images = document.getElementsByTagName("img");

// Create a distinct collection of relative image URLs
Iterator<Element> iterator = images.iterator();
java.util.Set<String> urls = new HashSet<>();
for (Element e : images) {
    urls.add(e.getAttribute("src"));
}

// Create absolute image URLs
java.util.List<Url> absUrls = urls.stream()
    .map(src -> new Url(src, document.getBaseURI()))
    .collect(Collectors.toList());

for (Url url : absUrls) {
    // Create an image request message
    final RequestMessage request = new RequestMessage(url);

    // Extract image
    final ResponseMessage response = document.getContext().getNetwork().send(request);

    // Check whether a response is successful
    if (response.isSuccess()) {
        String[] split = url.getPathname().split("/");
        String path = split[split.length - 1];

        // Save file to a local file system
        FileHelper.writeAllBytes(path, response.getContent().readAsByteArray());
    }
}



Шаги по извлечению изображений с веб-сайта

  1. Используйте конструктор HTMLDocument(Url) для инициализации HTML-документа.
  2. Используйте метод getElementsByTagName("img") , чтобы собрать все <img> элементы из документа. Метод возвращает коллекцию элементов <img>, присутствующих на веб-странице.
  3. Пройдитесь по элементам <img> и используйте метод getAttribute("src") для извлечения атрибута src каждого элемента <img>.
  4. Создайте абсолютные URL-адреса изображений, используя класс Url и свойство BaseURI класса HTMLDocument.
  5. Для каждого абсолютного URL-адреса изображения создайте запрос с помощью конструктора RequestMessage(url) и отправьте его. Ответ проверяется на успешность.
  6. Если ответ был успешным, извлеките данные изображения и сохраните их в локальной файловой системе с помощью FileHelper.writeAllBytes().

С помощью Aspose.HTML for Java вы можете легко создать инструмент, который анализирует HTML-страницу, определяет источники изображений и загружает их. Это мощное решение для тех, кому нужно собирать изображения для анализа, архивирования или создания контента – без лишних хлопот, связанных с ручной работой. Чтобы узнать больше о том, как программно извлекать различные типы изображений с веб-сайта с помощью Java, обратитесь к статье документации Извлечение изображений с веб-сайта на Java .

Примечание: Перед использованием сохраненных изображений в коммерческих целях необходимо соблюдать законы об авторском праве и получать соответствующие разрешения или лицензии. Мы не поддерживаем извлечение и использование файлов других людей в коммерческих целях без их согласия.




Начало работы с Java HTML Parser Library

HTML API – это расширенная библиотека веб-скрапинга и синтаксического анализа HTML. Можно создавать, редактировать, перемещаться по узлам, извлекать данные и преобразовывать файлы HTML, XHTML и MHTML в PDF, изображения и другие форматы. Кроме того, Java library также обрабатывает CSS, HTML Canvas, SVG, XPath и JavaScript из коробки, чтобы расширить задачи манипулирования. Это автономный API, не требующий установки программного обеспечения.
Вы можете загрузить его последнюю версию непосредственно из Aspose Maven Repository и установить его в свой проект на основе Maven, добавив следующие конфигурации в файл pom.xml.


Репозиторий

<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>

Зависимость

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>version of aspose-html API</version>
<classifier>jdk17</classifier>
</dependency>

Другие поддерживаемые функции

Используйте библиотеку Aspose.HTML for Java для анализа и работы с документами на основе HTML. Понятно, безопасно и просто!