Программное извлечение 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. Понятно, безопасно и просто!