jsoup - Panduan Cepat

jsoup adalah pustaka berbasis Java untuk bekerja dengan konten berbasis HTML. Ini menyediakan API yang sangat nyaman untuk mengekstrak dan memanipulasi data, menggunakan metode DOM, CSS, dan seperti jquery terbaik. Ini mengimplementasikan spesifikasi HTML5 WHATWG, dan mengurai HTML ke DOM yang sama seperti yang dilakukan browser modern.

jsoup libary mengimplementasikan spesifikasi WHATWG HTML5, dan mem-parsing konten HTML ke DOM yang sama sesuai browser modern.

perpustakaan jsonp menyediakan fungsi berikut.

  • Multiple Read Support - Ini membaca dan mem-parsing HTML menggunakan URL, file, atau string.

  • CSS Selectors - Dapat menemukan dan mengekstrak data, menggunakan traversal DOM atau pemilih CSS.

  • DOM Manipulation - Dapat memanipulasi elemen HTML, atribut, dan teks.

  • Prevent XSS attacks - Dapat membersihkan konten yang dikirimkan pengguna terhadap daftar putih aman yang diberikan, untuk mencegah serangan XSS.

  • Tidy - Ini menghasilkan HTML yang rapi.

  • Handles invalid data - jsoup dapat menangani tag yang tidak tertutup, tag implisit, dan dapat dengan andal membuat struktur dokumen.

Pengaturan Lingkungan Lokal

JUnit adalah framework untuk Java, jadi persyaratan pertama adalah menginstal JDK di komputer Anda.

Persyaratan Sistem

JDK 1.5 atau lebih tinggi.
Penyimpanan Tidak ada persyaratan minimum.
Ruang Disk Tidak ada persyaratan minimum.
Sistem operasi Tidak ada persyaratan minimum.

Langkah 1: Verifikasi Instalasi Java di Mesin Anda

Pertama-tama, buka konsol dan jalankan perintah java berdasarkan sistem operasi yang Anda kerjakan.

OS Tugas Perintah
Windows Buka Konsol Perintah c: \> java -version
Linux Buka Terminal Perintah $ java -version
Mac Buka Terminal mesin: <joseph $ java -version

Mari verifikasi output untuk semua sistem operasi -

OS Keluaran
Windows

versi java "1.6.0_21"

Java (TM) SE Runtime Environment (build 1.6.0_21-b07)

VM Klien Java HotSpot (TM) (build 17.0-b17, mode campuran, berbagi)

Linux

versi java "1.6.0_21"

Java (TM) SE Runtime Environment (build 1.6.0_21-b07)

VM Klien Java HotSpot (TM) (build 17.0-b17, mode campuran, berbagi)

Mac

versi java "1.6.0_21"

Java (TM) SE Runtime Environment (build 1.6.0_21-b07)

Java HotSpot (TM) 64-Bit Server VM (build 17.0-b17, mode campuran, berbagi)

Jika Anda belum menginstal Java pada sistem Anda, unduh Java Software Development Kit (SDK) dari tautan berikut https://www.oracle.com. Kami mengasumsikan Java 1.6.0_21 sebagai versi yang diinstal untuk tutorial ini.

Langkah 2: Setel Lingkungan JAVA

Mengatur JAVA_HOMEvariabel lingkungan untuk menunjuk ke lokasi direktori dasar tempat Java diinstal pada mesin Anda. Sebagai contoh.

OS Keluaran
Windows Setel variabel lingkungan JAVA_HOME ke C: \ Program Files \ Java \ jdk1.6.0_21
Linux ekspor JAVA_HOME = / usr / local / java-current
Mac ekspor JAVA_HOME = / Library / Java / Home

Tambahkan lokasi compiler Java ke System Path.

OS Keluaran
Windows Tambahkan string C:\Program Files\Java\jdk1.6.0_21\bin di akhir variabel sistem, Path.
Linux ekspor PATH = $ PATH: $ JAVA_HOME / bin /
Mac tidak dibutuhkan

Verifikasi instalasi Java menggunakan perintah java -version seperti yang dijelaskan di atas.

Langkah 3: Unduh Arsip jsoup

Unduh versi terbaru file jar jsoup dari Maven Repository . Pada saat menulis tutorial ini, kami telah mengunduh jsoup-1.8.3.jar dan menyalinnya ke folder C: \> jsoup.

OS Nama arsip
Windows jsoup-1.8.3.jar
Linux jsoup-1.8.3.jar
Mac jsoup-1.8.3.jar

Langkah 4: Setel Lingkungan jsoup

Mengatur JSOUP_HOMEvariabel lingkungan untuk menunjuk ke lokasi direktori dasar tempat jar jsoup disimpan di komputer Anda. Mari kita asumsikan kita telah menyimpan jsoup-1.8.3.jar di folder JSOUP.

Sr Tidak OS & Deskripsi
1

Windows

Setel variabel lingkungan JSOUP_HOME ke C: \ JSOUP

2

Linux

ekspor JSOUP_HOME = / usr / local / JSOUP

3

Mac

ekspor JSOUP_HOME = / Library / JSOUP

Langkah 5: Setel Variabel CLASSPATH

Mengatur CLASSPATH variabel lingkungan untuk menunjuk ke lokasi jar JSOUP.

Sr Tidak OS & Deskripsi
1

Windows

Setel variabel lingkungan CLASSPATH ke% CLASSPATH%;% JSOUP_HOME% \ jsoup-1.8.3.jar;.;

2

Linux

ekspor CLASSPATH = $ CLASSPATH: $ JSOUP_HOME / jsoup-1.8.3.jar :.

3

Mac

ekspor CLASSPATH = $ CLASSPATH: $ JSOUP_HOME / jsoup-1.8.3.jar :.

Contoh berikut akan menampilkan penguraian String HTML menjadi objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

Deskripsi

Metode parse (String html) mem-parsing HTML input menjadi Dokumen baru. Objek dokumen ini dapat digunakan untuk melintasi dan mendapatkan detail dari dom html.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body><p>Sample Content</p></body></html>";
      Document document = Jsoup.parse(html);
      System.out.println(document.title());
      Elements paragraphs = document.getElementsByTag("p");
      for (Element paragraph : paragraphs) {
            System.out.println(paragraph.text());
      }
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Sample Title
Sample Content

Contoh berikut akan menampilkan penguraian String fragement HTML menjadi objek Elemen sebagai tubuh html.

Sintaksis

Document document = Jsoup.parseBodyFragment(html);
Element body = document.body();

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String fragmen HTML.

  • body - mewakili anak elemen dari elemen badan dokumen dan setara dengan document.getElementsByTag ("body").

Deskripsi

Metode parseBodyFragment (String html) mem-parsing HTML input menjadi Dokumen baru. Objek dokumen ini dapat digunakan untuk melintasi dan mendapatkan detail dari fragmen badan html.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<div><p>Sample Content</p>";
      Document document = Jsoup.parseBodyFragment(html);
      Element body = document.body();
      Elements paragraphs = body.getElementsByTag("p");
      for (Element paragraph : paragraphs) {
         System.out.println(paragraph.text());
      }
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Sample Content

Contoh berikut akan menampilkan pengambilan HTML dari web menggunakan url dan kemudian menemukan datanya.

Sintaksis

String url = "http://www.google.com";
Document document = Jsoup.connect(url).get();

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk menghubungkan url dan mendapatkan String HTML.

  • url - url halaman html yang akan dimuat.

Deskripsi

Metode connect (url) membuat koneksi ke url dan metode get () mengembalikan html dari url yang diminta.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JsoupTester {
   public static void main(String[] args) throws IOException {
   
      String url = "http://www.google.com";
      Document document = Jsoup.connect(url).get();
      System.out.println(document.title());
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Google

Contoh berikut akan menampilkan pengambilan HTML dari disk menggunakan file dan kemudian menemukan datanya.

Sintaksis

String url = "http://www.google.com";
Document document = Jsoup.connect(url).get();

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk menghubungkan url dan mendapatkan String HTML.

  • url - url halaman html yang akan dimuat.

Deskripsi

Metode connect (url) membuat koneksi ke url dan metode get () mengembalikan html dari url yang diminta.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JsoupTester {
   public static void main(String[] args) throws IOException, URISyntaxException {
      
      URL path = ClassLoader.getSystemResource("test.htm");
      File input = new File(path.toURI());
      Document document = Jsoup.parse(input, "UTF-8");
      System.out.println(document.title());
   }
}

test.htm

Buat file test.htm berikut di folder C: \ jsoup.

<html>
   <head>
      <title>Sample Title</title>
   </head>
   <body>
      <p>Sample Content</p>
   </body>
</html>

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Sample Title

Contoh berikut akan menampilkan penggunaan metode seperti DOM setelah mengurai String HTML menjadi objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);
Element sampleDiv = document.getElementById("sampleDiv");
Elements links = sampleDiv.getElementsByTag("a");

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • sampleDiv - Objek elemen mewakili elemen node html yang diidentifikasi oleh id "sampleDiv".

  • links - Objek elemen mewakili beberapa elemen node yang diidentifikasi oleh tag "a".

Deskripsi

Metode parse (String html) mem-parsing HTML input menjadi Dokumen baru. Objek dokumen ini dapat digunakan untuk melintasi dan mendapatkan detail dari dom html.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a></div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);
      System.out.println(document.title());
      Elements paragraphs = document.getElementsByTag("p");
      for (Element paragraph : paragraphs) {
         System.out.println(paragraph.text());
      }

      Element sampleDiv = document.getElementById("sampleDiv");
      System.out.println("Data: " + sampleDiv.text());
      Elements links = sampleDiv.getElementsByTag("a");

      for (Element link : links) {
         System.out.println("Href: " + link.attr("href"));
         System.out.println("Text: " + link.text());
      }
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Sample Title
Sample Content
Data: Google
Href: www.google.com
Text: Google

Contoh berikut akan menampilkan penggunaan metode pemilih setelah mengurai String HTML menjadi objek Dokumen. jsoup mendukung selector yang mirip dengan CSS Selectors.

Sintaksis

Document document = Jsoup.parse(html);
Element sampleDiv = document.getElementById("sampleDiv");
Elements links = sampleDiv.getElementsByTag("a");

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • sampleDiv - Objek elemen mewakili elemen node html yang diidentifikasi oleh id "sampleDiv".

  • links - Objek elemen mewakili beberapa elemen node yang diidentifikasi oleh tag "a".

Deskripsi

Metode document.select (ekspresi) mengurai ekspresi pemilih CSS yang diberikan untuk memilih elemen dom html.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         + "<div id='imageDiv' class='header'><img name='google' src='google.png' />"
         + "<img name='yahoo' src='yahoo.jpg' />"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Elements links = document.select("a[href]");

      for (Element link : links) {
         System.out.println("Href: " + link.attr("href"));
         System.out.println("Text: " + link.text());
      }

      // img with src ending .png
      Elements pngs = document.select("img[src$=.png]");

      for (Element png : pngs) {
         System.out.println("Name: " + png.attr("name"));
      }

      // div with class=header
      Element headerDiv = document.select("div.header").first();
      System.out.println("Id: " + headerDiv.id());
   
      // direct a after h3
      Elements sampleLinks = document.select("h3 > a"); 

      for (Element link : sampleLinks) {
         System.out.println("Text: " + link.text());
      }
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Href: www.google.com
Text: Google
Name: google
Id: imageDiv
Text: Sample

Contoh berikut akan menunjukkan penggunaan metode untuk mendapatkan atribut dari elemen dom setelah mengurai String HTML menjadi objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);
Element link = document.select("a").first();
System.out.println("Href: " + link.attr("href"));

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • link - Objek elemen mewakili elemen node html yang mewakili tag jangkar.

  • link.attr() - attr (atribut) metode mengambil atribut elemen.

Deskripsi

Objek elemen merepresentasikan sebuah dom elment dan menyediakan berbagai metode untuk mendapatkan atribut dari sebuah elemen dom.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Element link = document.select("a").first();         

      System.out.println("Href: " + link.attr("href"));
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Href: www.google.com

Contoh berikut akan menunjukkan penggunaan metode untuk mendapatkan teks setelah mem-parsing String HTML menjadi objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);
Element link = document.select("a").first();     
System.out.println("Text: " + link.text());

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • link - Objek elemen mewakili elemen node html yang mewakili tag jangkar.

  • link.text() - metode text () mengambil teks elemen.

Deskripsi

Objek elemen merepresentasikan sebuah dom elment dan menyediakan berbagai metode untuk mendapatkan teks dari sebuah elemen dom.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Element link = document.select("a").first();         

      System.out.println("Text: " + link.text());
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Text: Google

Contoh berikut akan menunjukkan penggunaan metode untuk mendapatkan html dalam dan html luar setelah mengurai String HTML menjadi objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);
Element link = document.select("a").first();         

System.out.println("Outer HTML: " + link.outerHtml());
System.out.println("Inner HTML: " + link.html());

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • link - Objek elemen mewakili elemen node html yang mewakili tag jangkar.

  • link.outerHtml() - Metode outerHtml () mengambil html lengkap elemen.

  • link.html() - Metode html () mengambil elemen dalam html.

Deskripsi

Objek elemen mewakili sebuah dom elment dan menyediakan berbagai metode untuk mendapatkan html dari elemen dom.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Element link = document.select("a").first();         

      System.out.println("Outer HTML: " + link.outerHtml());
      System.out.println("Inner HTML: " + link.html());
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Outer HTML: <a href="www.google.com">Google</a>
Inner HTML: Google

Contoh berikut akan menampilkan metode yang dapat memberikan URL relatif maupun absolut yang ada di halaman html.

Sintaksis

String url = "http://www.tutorialspoint.com/";
Document document = Jsoup.connect(url).get();
Element link = document.select("a").first();         

System.out.println("Relative Link: " + link.attr("href"));
System.out.println("Absolute Link: " + link.attr("abs:href"));
System.out.println("Absolute Link: " + link.absUrl("href"));

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk menyambung ke url dan mendapatkan konten html.

  • link - Objek elemen mewakili elemen node html yang mewakili tag jangkar.

  • link.attr("href")- memberikan nilai dari href yang ada di tag jangkar. Ini mungkin relatif atau absolut.

  • link.attr("abs:href") - menyediakan url absolut setelah menyelesaikannya dengan URI dasar dokumen.

  • link.absUrl("href") - menyediakan url absolut setelah menyelesaikannya dengan URI dasar dokumen.

Deskripsi

Objek elemen mewakili sebuah dom elment dan menyediakan metode untuk mendapatkan URL relatif serta absolut yang ada di halaman html.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) throws IOException {
   
      String url = "http://www.tutorialspoint.com/";
      Document document = Jsoup.connect(url).get();

      Element link = document.select("a").first();
      System.out.println("Relative Link: " + link.attr("href"));
      System.out.println("Absolute Link: " + link.attr("abs:href"));
      System.out.println("Absolute Link: " + link.absUrl("href"));
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Relative Link: index.htm
Absolute Link: https://www.tutorialspoint.com/index.htm
Absolute Link: https://www.tutorialspoint.com/index.htm

Contoh berikut akan menampilkan penggunaan metode untuk menyetel atribut elemen dom, pembaruan massal, dan menambah / menghapus metode kelas setelah mengurai String HTML menjadi objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);
Element link = document.select("a").first();         
link.attr("href","www.yahoo.com");     
link.addClass("header"); 
link.removeClass("header");

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • link - Objek elemen mewakili elemen node html yang mewakili tag jangkar.

  • link.attr() - attr (atribut, nilai) metode mengatur atribut elemen nilai yang sesuai.

  • link.addClass() - Metode addClass (class) menambahkan kelas di bawah atribut class.

  • link.removeClass() - Metode removeClass (class) menghapus kelas di bawah atribut class.

Deskripsi

Objek elemen merepresentasikan sebuah dom elment dan menyediakan berbagai metode untuk mendapatkan atribut dari sebuah elemen dom.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a id='googleA' href='www.google.com'>Google</a></div>"
         + "<div class='comments'><a href='www.sample1.com'>Sample1</a>"
         + "<a href='www.sample2.com'>Sample2</a>"
         + "<a href='www.sample3.com'>Sample3</a><div>"
         +"</div>"
         + "<div id='imageDiv' class='header'><img name='google' src='google.png' />"
         + "<img name='yahoo' src='yahoo.jpg' />"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //Example: set attribute
      Element link = document.getElementById("googleA");
      System.out.println("Outer HTML Before Modification :"  + link.outerHtml());
      link.attr("href","www.yahoo.com");      
      System.out.println("Outer HTML After Modification :"  + link.outerHtml());
      System.out.println("---");
      
      //Example: add class
      Element div = document.getElementById("sampleDiv");
      System.out.println("Outer HTML Before Modification :"  + div.outerHtml());
      link.addClass("header");      
      System.out.println("Outer HTML After Modification :"  + div.outerHtml());
      System.out.println("---");
      
      //Example: remove class
      Element div1 = document.getElementById("imageDiv");
      System.out.println("Outer HTML Before Modification :"  + div1.outerHtml());
      div1.removeClass("header");      
      System.out.println("Outer HTML After Modification :"  + div1.outerHtml());
      System.out.println("---");
      
      //Example: bulk update
      Elements links = document.select("div.comments a");
      System.out.println("Outer HTML Before Modification :"  + links.outerHtml());
      links.attr("rel", "nofollow");
      System.out.println("Outer HTML Before Modification :"  + links.outerHtml());
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Outer HTML Before Modification :<a id="googleA" href="www.google.com">Google</a>
Outer HTML After Modification :<a id="googleA" href="www.yahoo.com">Google</a>
---
Outer HTML Before Modification :<div id="sampleDiv">
 <a id="googleA" href="www.yahoo.com">Google</a>
</div>
Outer HTML After Modification :<div id="sampleDiv">
 <a id="googleA" href="www.yahoo.com" class="header">Google</a>
</div>
---
Outer HTML Before Modification :<div id="imageDiv" class="header">
 <img name="google" src="google.png">
 <img name="yahoo" src="yahoo.jpg">
</div>
Outer HTML After Modification :<div id="imageDiv" class="">
 <img name="google" src="google.png">
 <img name="yahoo" src="yahoo.jpg">
</div>
---
Outer HTML Before Modification :<a href="www.sample1.com">Sample1</a>
<a href="www.sample2.com">Sample2</a>
<a href="www.sample3.com">Sample3</a>
Outer HTML Before Modification :<a href="www.sample1.com" rel="nofollow">Sample1</a>
<a href="www.sample2.com" rel="nofollow">Sample2</a>
<a href="www.sample3.com" rel="nofollow">Sample3</a>

Contoh berikut akan menunjukkan penggunaan metode untuk menyetel, menambahkan atau menambahkan html ke elemen dom setelah mengurai String HTML ke dalam objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);
Element div = document.getElementById("sampleDiv");     
div.html("<p>This is a sample content.</p>");   
div.prepend("<p>Initial Text</p>");
div.append("<p>End Text</p>");

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • div - Objek elemen mewakili elemen node html yang mewakili tag jangkar.

  • div.html() - Metode html (konten) menggantikan html luar elemen dengan nilai yang sesuai.

  • div.prepend() - Metode prepend (konten) menambahkan konten sebelum html luar.

  • div.append() - Tambahkan metode (konten) menambahkan konten setelah html luar.

Deskripsi

Objek elemen merepresentasikan dom elment dan menyediakan berbagai metode untuk menyetel, menambahkan atau menambahkan html ke elemen dom.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<div id='sampleDiv'><a id='googleA' href='www.google.com'>Google</a></div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      Element div = document.getElementById("sampleDiv");
      System.out.println("Outer HTML Before Modification :\n"  + div.outerHtml());
      div.html("<p>This is a sample content.</p>");
      System.out.println("Outer HTML After Modification :\n"  + div.outerHtml());
      div.prepend("<p>Initial Text</p>");
      System.out.println("After Prepend :\n"  + div.outerHtml());
      div.append("<p>End Text</p>");
      System.out.println("After Append :\n"  + div.outerHtml());          
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Outer HTML Before Modification :
<div id="sampleDiv">
 <a id="googleA" href="www.google.com">Google</a>
</div>
Outer HTML After Modification :
<div id="sampleDiv">
 <p>This is a sample content.</p>
</div>
After Prepend :
<div id="sampleDiv">
 <p>Initial Text</p>
 <p>This is a sample content.</p>
</div>
After Append :
<div id="sampleDiv">
 <p>Initial Text</p>
 <p>This is a sample content.</p>
 <p>End Text</p>
</div>
Outer HTML Before Modification :
<span>Sample Content</span>
Outer HTML After Modification :
<span>Sample Content</span>

Contoh berikut akan menampilkan penggunaan metode untuk menyetel, menambahkan atau menambahkan teks ke elemen dom setelah mengurai String HTML ke dalam objek Dokumen.

Sintaksis

Document document = Jsoup.parse(html);
Element div = document.getElementById("sampleDiv");     
div.text("This is a sample content.");   
div.prepend("Initial Text.");
div.append("End Text.");

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • div - Objek elemen mewakili elemen node html yang mewakili tag jangkar.

  • div.text() - metode teks (konten) menggantikan konten elemen dengan nilai yang sesuai.

  • div.prepend() - Metode prepend (konten) menambahkan konten sebelum html luar.

  • div.append() - Tambahkan metode (konten) menambahkan konten setelah html luar.

Deskripsi

Objek elemen merepresentasikan dom elment dan menyediakan berbagai metode untuk menyetel, menambahkan atau menambahkan html ke elemen dom.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {

      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<div id='sampleDiv'><a id='googleA' href='www.google.com'>Google</a></div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      Element div = document.getElementById("sampleDiv");
      System.out.println("Outer HTML Before Modification :\n"  + div.outerHtml());
      div.text(This is a sample content.");
      System.out.println("Outer HTML After Modification :\n"  + div.outerHtml());
      div.prepend("Initial Text.");
      System.out.println("After Prepend :\n"  + div.outerHtml());
      div.append("End Text.");
      System.out.println("After Append :\n"  + div.outerHtml());
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Outer HTML Before Modification :
<div id="sampleDiv">
 <a id="googleA" href="www.google.com">Google</a>
</div>
Outer HTML After Modification :
<div id="sampleDiv">
 This is a sample content.
</div>
After Prepend :
<div id="sampleDiv">
 Initial Text.This is a sample content.
</div>
After Append :
<div id="sampleDiv">
 Initial Text.This is a sample content.End Text.
</div>

Contoh berikut akan menampilkan pencegahan serangan XSS atau serangan skrip lintas situs.

Sintaksis

String safeHtml =  Jsoup.clean(html, Whitelist.basic());

Dimana

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML Awal.

  • safeHtml - HTML bersih.

  • Whitelist - Objek untuk memberikan konfigurasi default untuk melindungi html.

  • clean() - bersihkan html menggunakan Whitelist.

Deskripsi

Objek Jsoup membersihkan html menggunakan konfigurasi Whitelist.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist;

public class JsoupTester {
   public static void main(String[] args) {

      String html = "<p><a href='http://example.com/'"
         +" onclick='checkData()'>Link</a></p>";

      System.out.println("Initial HTML: " + html);
      String safeHtml =  Jsoup.clean(html, Whitelist.basic());

      System.out.println("Cleaned HTML: " +safeHtml);
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

Initial HTML: <p><a href='http://example.com/' onclick='checkData()'>Link</a></p>
Cleaned HTML: <p><a href="http://example.com/" rel="nofollow">Link</a></p>