Ekstrak Data dan Sumber Daya dari HTML
Aspose.HTML for Java
memuat HTML dari file, URL, string, atau stream ke dalam HTMLDocument. Aplikasi Java dapat memeriksa DOM, memilih elemen, membaca teks dan atribut, mengubah URL relatif menjadi URL absolut, serta menyimpan nilai atau sumber daya tertaut yang diperlukan.
Gunakan metode DOM, selector CSS, atau ekspresi XPath jika informasi yang diperlukan merupakan bagian dari struktur dokumen. Jika elemen mengarah ke gambar, file SVG, stylesheet, atau sumber daya lain, gunakan URL absolut dan layanan jaringan untuk mengunduh byte-nya. Dengan demikian, analisis HTML tetap terpisah dari pengambilan sumber daya dan logika ekstraksi hanya berfokus pada data yang diperlukan aplikasi.
Pilih Tugas Ekstraksi Data dengan Java
Pilih contoh yang sesuai dengan jenis konten atau sumber daya yang perlu dikumpulkan.
Temukan elemen gambar, ubah URL sumber relatif menjadi absolut, lalu simpan file gambar yang dirujuk.
Simpan markup SVG inline dan unduh sumber daya SVG eksternal yang dirujuk oleh halaman HTML.
Minta URL sumber daya yang diketahui, periksa respons, lalu tulis byte yang diterima ke file lokal.
Ekstrak Tautan dari HTML dengan Java
Contoh ini memuat halaman HTML, membaca atribut href setiap tautan, mengubah referensi relatif menjadi URL absolut berdasarkan URL dokumen, lalu menulis tautan HTTP dan HTTPS unik ke output/links.txt. Pola pemilihan yang sama dapat diterapkan pada teks, metadata, nilai formulir, atau atribut sumber daya.
Ekstrak Tautan dari HTML dengan Java
Path outputPath = Paths.get("output", "links.txt");
Files.createDirectories(outputPath.getParent());
try (HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/java/")) {
HTMLCollection anchors = document.getElementsByTagName("a");
Set<String> links = new LinkedHashSet<>();
Iterator<Element> iterator = anchors.iterator();
while (iterator.hasNext()) {
Element anchor = iterator.next();
String href = anchor.getAttribute("href");
if (href.isEmpty()) {
continue;
}
Url linkUrl = new Url(href, document.getBaseURI());
String protocol = linkUrl.getProtocol();
if ("http:".equals(protocol) || "https:".equals(protocol)) {
links.add(linkUrl.getHref());
}
}
Files.write(outputPath, links, StandardCharsets.UTF_8);
}
Langkah Mengekstrak Tautan dari HTML
- Muat sumber dengan class
HTMLDocument. - Pilih elemen tautan dengan
getElementsByTagName("a"). - Baca setiap atribut
hrefdan abaikan nilai kosong. - Ubah referensi relatif menjadi URL absolut dengan class
Urldan URI dasar dokumen. - Pertahankan tautan HTTP dan HTTPS, hapus duplikat, lalu simpan koleksi ke file teks.
Temukan Data HTML dengan DOM, Selector CSS, atau XPath
Pilih metode yang sesuai dengan struktur dokumen sumber:
- Koleksi DOM – gunakan
getElementsByTagName()jika semua elemen dengan tag tertentu diperlukan. - Selector CSS – gunakan
querySelector()untuk kecocokan pertama atauquerySelectorAll()untuk semua elemen yang cocok dengan selector CSS. - XPath – gunakan ekspresi XPath jika pemilihan bergantung pada hierarki, atribut, atau kondisi teks yang sulit dinyatakan dengan selector CSS.
- URL sumber daya – baca atribut seperti
srcatauhref, ubah menjadi URL absolut berdasarkan URI dasar dokumen, lalu minta hanya file yang diperlukan aplikasi.
Lihat HTML Navigation untuk contoh DOM, selector CSS, dan XPath, atau buka dokumentasi Data Extraction untuk contoh yang berfokus pada sumber daya.
Tanya Jawab Ekstraksi Data HTML
1. Dapatkah Aspose.HTML for Java mengekstrak data tertentu tanpa menyimpan seluruh halaman web?
Ya. Muat sumber ke dalam HTMLDocument, pilih hanya node yang diperlukan, lalu simpan teks, atribut, atau sumber daya yang dirujuk. Aplikasi tidak perlu menyimpan salinan lengkap halaman.
2. Bagaimana cara mengekstrak hanya elemen HTML tertentu dengan Java?
Gunakan getElementsByTagName() untuk tag yang diketahui, querySelector() atau querySelectorAll() untuk pencocokan berbasis selector CSS, atau XPath jika pemilihan bergantung pada hierarki dokumen, atribut, maupun kondisi teks.
3. Dapatkah Aspose.HTML for Java mengekstrak baris dan sel tabel dari HTML?
Ya. Pilih elemen table, tr, th, dan td melalui DOM, lalu petakan teks dan atributnya ke struktur data yang diperlukan aplikasi Java.
4. Apakah Aspose.HTML for Java gratis untuk ekstraksi data?
Aspose.HTML for Java adalah pustaka komersial. Anda dapat mengunduh versi evaluasi dan meminta lisensi sementara untuk menguji ekstraksi data tanpa batasan mode evaluasi sebelum membeli.
Instal Aspose.HTML for Java
Tambahkan Aspose.HTML for Java dari repositori resmi Aspose. Ganti ASPOSE_HTML_VERSION dengan nomor versi yang tepat dari halaman
rilis Aspose.HTML for Java
, lalu muat ulang atau bangun ulang proyek agar dependensi dapat diselesaikan.
Tambahkan repositori dan dependensi ke proyek Maven:
Maven – pom.xml
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>ASPOSE_HTML_VERSION</version>
</dependency>
</dependencies>Tambahkan repositori dan dependensi ke proyek Gradle:
Gradle – build.gradle
repositories {
maven {
url = uri('https://releases.aspose.com/java/repo/')
}
}
dependencies {
implementation 'com.aspose:aspose-html:ASPOSE_HTML_VERSION'
}Gunakan JDK yang kompatibel dengan rilis yang dipilih. Untuk instalasi JAR secara manual, Kotlin DSL, pembaruan, dan pemecahan masalah dependensi, lihat Install Aspose.HTML for Java .
Tugas Lain dengan Aspose.HTML for Java
Lanjutkan dengan panduan Java untuk membuat, mengonversi, menggabungkan, dan memproses dokumen HTML.