Програмне вилучення SVG з веб-сайтів
Можливість витягувати зображення з HTML важлива для різних додатків, таких як веб-скрепінг та аналіз контенту. Aspose.HTML for Java – це надійна бібліотека, яка спрощує цей процес, пропонуючи розробникам набір інструментів для зручної навігації та збору інформації з HTML-документів. Давайте розглянемо, як витягти зовнішні SVG-зображення з веб-сайту.
Вилучення SVG-зображень з HTML за допомогою Java
За допомогою бібліотеки Aspose.HTML for Java ви можете швидко створити власний додаток, використовуючи надійний набір інструментів для розбору та вилучення даних з HTML-документів. У наведеному нижче прикладі показано, як витягти всі зовнішні 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-зображень, перевіривши, чи закінчується кожна з них на
.svg
, і додати їх до нового списку. - Створити абсолютні URL-адреси зображень за допомогою класу
Url
і властивості
BaseURI
класуHTMLDocument
. - Для кожної абсолютної URL-адреси створіть запит за допомогою конструктора
RequestMessage(
url
) . Надішліть кожен запит і перевірте відповідь на успішність. - Якщо відповідь була успішною, використовуйте
FileHelper.writeAllBytes()
для збереження вмісту SVG у локальній файловій системі.
За допомогою Aspose.HTML for Java ви можете легко створити інструмент, який аналізує веб-сторінку, визначає джерела SVG-зображень і завантажує SVG-файли. Це потужне рішення для тих, кому потрібно зібрати SVG-файли для аналізу, архівування або створення контенту – без клопоту робити це вручну. Щоб дізнатися більше про те, як програмно витягувати різні типи (вбудовані та зовнішні) SVG-файлів з веб-сайту за допомогою Java, зверніться до статті документації Extract SVG From Website in Java .
Примітка: Важливо поважати закони про авторське право і отримати відповідні дозволи або ліцензії перед використанням збережених зображень у комерційних цілях. Ми не підтримуємо вилучення та використання файлів інших людей у комерційних цілях без їхньої згоди.
Початок роботи з Java HTML Parser Library
HTML API – це розширена бібліотека веб-збирання та аналізу HTML. Можна створювати, редагувати, переміщатися між вузлами, витягувати дані та конвертувати файли HTML, XHTML і MHTML у PDF, зображення та інші формати. Крім того, він також готово обробляє 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-документами. Зрозуміло, безпечно і просто!