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>