Програмне вилучення 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

  1. За допомогою конструктора HTMLDocument(Url) створіть екземпляр класу HTMLDocument і передайте йому URL-адресу веб-сайту, з якого ви хочете витягти зовнішні SVG-зображення.
  2. Використовуйте метод getElementsByTagName("img") , щоб зібрати всі елементи <img>.
  3. Витягніть атрибут src з кожного елемента зображення за допомогою методу getAttribute("src") і створіть окрему колекцію відносних URL-адрес зображень.
  4. Відфільтрувати лише URL-адреси SVG-зображень, перевіривши, чи закінчується кожна з них на .svg, і додати їх до нового списку.
  5. Створити абсолютні URL-адреси зображень за допомогою класу Url і властивості BaseURI класу HTMLDocument.
  6. Для кожної абсолютної URL-адреси створіть запит за допомогою конструктора RequestMessage(url) . Надішліть кожен запит і перевірте відповідь на успішність.
  7. Якщо відповідь була успішною, використовуйте 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-документами. Зрозуміло, безпечно і просто!