1. Produk
  2.   Editor
  3.   Java
  4.   jsoup
 
  

jsoup: Parser HTML untuk Java

Scraping, membersihkan, dan memanipulasi HTML dengan kemudahan seperti jQuery di Java

Apa itu jsoup?

jsoup adalah pustaka Java yang ringan namun kuat, dirancang untuk bekerja dengan HTML dunia nyata. Ini menyediakan API yang mulus untuk mengurai HTML dari URL, file, atau string, mengekstrak dan memanipulasi data menggunakan traversal DOM, selektor CSS, dan metode HTML5 modern. Ideal untuk scraping web, ekstraksi data, dan sanitasi HTML, jsoup menangani markup yang tidak sempurna dengan baik—seperti halnya browser ketika mengurai halaman web.

Berbeda dengan pendekatan regex mentah, jsoup menawarkan model objek yang bersih dengan metode yang terinspirasi oleh jQuery, menyederhanakan tugas seperti pengiriman formulir, modifikasi atribut, dan ekstraksi teks. Tanpa dependensi dan berlisensi MIT, jsoup menjadi favorit pengembang Java yang membutuhkan pengolahan HTML yang andal.

Keunggulan utama jsoup:

  • Penanganan HTML dunia nyata: Mengurai HTML berantakan seperti yang dilakukan browser
  • Sintaks mirip jQuery: Selektor CSS yang familiar (mis., doc.select("div.content"))
  • Ramah scraping: Mengikuti pengalihan, menangani cookie, dan mengirim formulir
  • Lintas platform: Murni Java tanpa dependensi native
  • Keamanan: Pencegahan XSS bawaan dan sanitasi HTML

Sempurna untuk penambangan data, otomatisasi web, dan analisis konten.

GitHub

Statistik GitHub

Nama:
Bahasa:
Bintang:
Garpu:
Lisensi:
Repositori terakhir diperbarui pada

Mengapa Memilih jsoup?

  • Kesederhanaan: API intuitif dengan dukungan selektor CSS
  • Keandalan: Diperbarui aktif sejak 2009
  • Kinerja: Dioptimalkan untuk dokumen besar dan streaming
  • Fleksibilitas: Bekerja dengan fragmen, file, atau URL langsung
  • Output bersih: Mencetak dan memformat ulang HTML dengan rapi

Instalasi

Tambahkan jsoup melalui Maven atau Gradle:

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Persyaratan Sistem: Java 8+

Contoh Kode

Kasus penggunaan praktis jsoup:

Parsing HTML dengan jsoup

Contoh 1: Parsing Dokumen dari String

Jika Anda memiliki HTML dalam string Java, dan ingin mengurai HTML untuk mendapatkan isinya atau memodifikasinya, jsoup dapat melakukannya hanya dengan beberapa baris kode.

Metode parse(String html, String baseUri) mengubah HTML input menjadi Dokumen baru. Parameter baseUri membantu mengubah URL relatif menjadi absolut dan harus sesuai dengan URL dari mana dokumen diambil. Jika ini tidak relevan, atau jika HTML mengandung elemen <base>, Anda bisa menggunakan metode parse(String html) yang lebih sederhana.

Contoh 2: Menggunakan Selektor CSS untuk Menemukan Elemen

Anda ingin menemukan atau memanipulasi elemen menggunakan selektor CSS. Parsing dan manipulasi string HTML langsung:

Contoh 3: Memodifikasi HTML dari Sebuah Elemen

Anda perlu memodifikasi HTML dari sebuah elemen. Gunakan metode setter HTML di Element seperti yang ditunjukkan dalam kode contoh berikut.

Fitur Lanjutan

jsoup mendukung pengolahan HTML profesional:

  • Penanganan formulir: Kirim data POST:

    Pengiriman Formulir

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Dukungan proxy: Scraping melalui proxy:

    Konfigurasi Proxy

    
        Document doc = Jsoup.connect("https://target.com")
            .proxy("127.0.0.1", 8080)
            .get();
        
    
  • Manipulasi DOM: Ubah struktur HTML:

    Perubahan DOM

    
        doc.select("div.ads").remove(); // Hapus semua iklan
        doc.select("h1").attr("class", "header"); // Tambahkan kelas CSS
        
    

jsoup vs. HTMLUnit

Perbedaan utama:

  • Fokus: jsoup mengurai HTML statis; HTMLUnit mensimulasikan browser (eksekusi JavaScript)
  • Kecepatan: jsoup lebih cepat untuk parsing HTML murni
  • Gaya API: jsoup menggunakan selektor CSS; HTMLUnit meniru Selenium
  • Kasus Penggunaan: jsoup untuk scraping; HTMLUnit untuk pengujian halaman dinamis
  • Dependensi: jsoup tidak punya; HTMLUnit membutuhkan pustaka tambahan

Kesimpulan

jsoup adalah toolkit HTML terbaik untuk pengembang Java. Ideal untuk:

  • Scraping web: Ekstrak data dari situs web apa pun
  • Pembersihan data: Sanitasi dan normalisasi HTML
  • Analisis konten: Parsing feed RSS atau arsip web
  • Pengujian: Verifikasi struktur HTML dalam aplikasi

Dengan lisensi MIT dan API yang intuitif, jsoup adalah pilihan utama untuk pengolahan HTML berbasis Java.

Produk Sejenis

 Indonesia