Ekstrak SVG secara terprogram dari Situs Web
Kemampuan untuk mengekstrak gambar dari HTML penting untuk berbagai aplikasi seperti scraping web dan analisis konten. Aspose.HTML for Java adalah pustaka yang kuat yang menyederhanakan proses ini dengan menawarkan kepada para pengembang seperangkat alat untuk menavigasi dan mengumpulkan informasi dari dokumen HTML dengan mulus. Mari kita jelajahi cara mengekstrak gambar SVG eksternal dari situs web.
Ekstrak SVG dari HTML Menggunakan Java
Dengan pustaka Aspose.HTML for Java, Anda dapat dengan cepat membangun aplikasi Anda sendiri menggunakan seperangkat alat yang kuat untuk mengurai dan mengekstrak data dari dokumen HTML. Contoh di bawah ini menunjukkan cara mengekstrak semua SVG eksternal dari dokumen HTML hanya dengan beberapa baris kode Java.
Kode Java untuk mengekstrak SVG dari situs web
// 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());
}
}
Langkah-langkah untuk Mengekstrak SVG dari HTML
- Gunakan konstruktor
HTMLDocument(
Url
) untuk membuat instance dari kelas HTMLDocument dan memberikan URL situs web tempat Anda ingin mengekstrak gambar SVG eksternal. - Gunakan metode
getElementsByTagName(
"img"
) untuk mengumpulkan semua elemen<img>
. - Ekstrak atribut
src
dari setiap elemen gambar menggunakan metode getAttribute("src"
) dan buat koleksi URL gambar relatif yang berbeda. - Saring hanya URL gambar SVG dengan memeriksa apakah setiap URL diakhiri dengan
.svg
, dan tambahkan ke daftar baru. - Buat URL gambar absolut menggunakan kelas
Url
dan properti
BaseURI
dari kelasHTMLDocument
. - Untuk setiap URL absolut, buat permintaan menggunakan konstruktor
RequestMessage(
url
) . Kirimkan setiap permintaan dan periksa responsnya apakah berhasil. - Jika respons berhasil, gunakan
FileHelper.writeAllBytes()
untuk menyimpan konten SVG ke sistem berkas lokal.
Dengan Aspose.HTML for Java, Anda dapat dengan mudah membuat alat yang mem-parsing halaman web, mengidentifikasi sumber gambar SVG, dan mengunduh SVG. Ini adalah solusi yang ampuh bagi mereka yang perlu mengumpulkan SVG untuk analisis, pengarsipan, atau pembuatan konten – tanpa perlu repot-repot melakukannya secara manual. Untuk mempelajari lebih lanjut tentang cara mengekstrak berbagai jenis SVG secara terprogram (sebaris dan eksternal) dari situs web menggunakan Java, lihat artikel dokumentasi Ekstrak SVG dari Situs Web di Java .
Catatan: Penting untuk menghormati hukum hak cipta dan mendapatkan izin atau lisensi yang tepat sebelum menggunakan gambar yang disimpan untuk tujuan komersial. Kami tidak mendukung ekstraksi dan penggunaan file orang lain untuk tujuan komersial tanpa persetujuan mereka.
Memulai dengan Java HTML Parser Library
HTML API adalah pengikisan web tingkat lanjut dan perpustakaan parsing HTML. Seseorang dapat membuat, mengedit, menavigasi melalui node, mengekstrak data dan mengonversi file HTML, XHTML, dan MHTML ke PDF, Gambar, dan format lainnya. Selain itu, ia juga menangani CSS, Kanvas HTML, SVG, XPath, dan JavaScript di luar kotak untuk memperluas tugas manipulasi. Ini adalah API mandiri dan tidak memerlukan penginstalan software apa pun.
Anda dapat mendownload versi terbarunya langsung dari
Aspose Maven Repository
dan menginstalnya dalam project berbasis Maven Anda dengan menambahkan konfigurasi berikut ke pom.xml.
Gudang
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Ketergantungan
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>version of aspose-html API</version>
<classifier>jdk17</classifier>
</dependency>
Fitur Lain yang Didukung
Gunakan pustaka Aspose.HTML for Java untuk mengurai dan memanipulasi dokumen berbasis HTML. Jelas, aman, dan sederhana!