Программное извлечение SVG с веб-сайтов
Возможность извлекать изображения из HTML важна для различных приложений, таких как веб-скраппинг и анализ контента. Aspose.HTML for Java – это надежная библиотека, которая упрощает этот процесс, предлагая разработчикам набор инструментов для удобной навигации и сбора информации из HTML-документов. Давайте рассмотрим, как извлечь внешние SVG-изображения с веб-сайта.
Извлечение SVG из HTML с помощью Java
С помощью библиотеки Aspose.HTML for Java вы можете быстро создать собственное приложение, используя надежный набор инструментов для разбора и извлечения данных из HTML-документов. В примере ниже показано, как извлечь все external SVG из HTML-документа с помощью всего нескольких строк Java-кода.
Java-код для извлечения SVG с веб-сайта
// Open a document you want to download external SVGs from
final HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net/");
// Collect all <img> elements
HTMLCollection images = document.getElementsByTagName("img");
// Create a distinct collection of relative image URLs
java.util.Set<String> urls = new HashSet<>();
for (Element element : images) {
    urls.add(element.getAttribute("src"));
}
// Filter out non SVG images
java.util.List<String> svgUrls = new ArrayList<>();
for (String url : urls) {
    if (url.endsWith(".svg")) {
        svgUrls.add(url);
    }
}
// Create absolute SVG image URLs
java.util.List<Url> absUrls = svgUrls.stream()
    .map(src -> new Url(src, document.getBaseURI()))
    .collect(Collectors.toList());
for (Url url : absUrls) {
    // Create a downloading request
    final RequestMessage request = new RequestMessage(url);
    // Download SVG image
    final ResponseMessage response = document.getContext().getNetwork().send(request);
    // Check whether 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());
    }
}
Шаги по извлечению SVG из HTML
- Используйте конструктор
HTMLDocument(Url) для создания экземпляра класса HTMLDocument и передайте URL сайта, с которого вы хотите извлечь внешние SVG-изображения.
- Используйте метод
getElementsByTagName("img") , чтобы собрать все элементы<img>.
- Извлеките атрибут srcиз каждого элемента изображения с помощью метода getAttribute("src") и создайте отдельную коллекцию относительных URL-адресов изображений.
- Отфильтруйте только URL-адреса SVG-изображений, проверив, заканчивается ли каждый URL-адрес на .svg, и добавьте их в новый список.
- Создайте абсолютные URL-адреса изображений с помощью класса
Url
и свойства BaseURIклассаHTMLDocument.
- Для каждого абсолютного URL создайте запрос с помощью конструктора
RequestMessage(url) . Отправьте каждый запрос и проверьте ответ на успех.
- Если ответ был успешным, используйте FileHelper.writeAllBytes()для сохранения содержимого SVG в локальной файловой системе.
С помощью Aspose.HTML for Java можно легко создать инструмент, который анализирует веб-страницу, определяет источники SVG-изображений и загружает их. Это мощное решение для тех, кому нужно собирать SVG для анализа, архивирования или создания контента – без лишних хлопот, связанных с ручной работой. Чтобы узнать больше о том, как программно извлекать различные типы (встроенные и внешние) SVG с веб-сайта с помощью Java, обратитесь к статье документации Извлечь SVG с веб-сайта с помощью 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. Понятно, безопасно и просто!