Hướng dẫn jsoup validate html - jsoup xác thực html

Hướng dẫn jsoup validate html - jsoup xác thực html

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.

Nội dung chính ShowShow

  • 1- Jsoup là gì?
  • 2- Thư viện Jsoup
  • 3- Jsoup API
  • 4- Thao tác với Document
  • 4.1- Tạo Documet từ URL
  • 4.2- Tạo Document từ File
  • 4.3- Tạo Document từ String
  • 4.2- Tạo Document từ File
  • 4.2- Tạo Document từ File
  • 4.3- Tạo Document từ String

Element lastElementSibling()

Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook

1- Jsoup là gì?

2- Thư viện Jsoup Java HTML Parser. Nói cách khac Jsoup là một thư viện được sử dụng để phân tích tài liệu HTML. Jsoup cung cấp các API dùng để lấy dữ liệu và thao tác dữ liệu từ URL hoặc từ tập tin HTML. Nó sử dụng các phương thức giống với DOM, CSS , JQuery để lấy dữ liệu và thao tác với dữ liệu.

3- Jsoup API

HelloJsoup.java


import java.io.IOException;  
import org.jsoup.Jsoup;  
import org.jsoup.nodes.Document;

public class HelloJsoup {  
   public static void main( String[] args ) throws IOException{  
       Document doc = Jsoup.connect("http://eclipse.org").get();  
       String title = doc.title();  
       System.out.println("Title : " + title);  
   }  
}

2- Thư viện Jsoup

3- Jsoup API Maven hoặc download thư viện Jsoup dưới dạng file jar.

4- Thao tác với Document




   org.jsoup
   jsoup
   1.8.3

4.1- Tạo Documet từ URL

3- Jsoup API

4- Thao tác với Document bao gồm nhiều class, tuy nhiên có 3 class quan trọng nhất, bao gồm:

  • org.jsoup.Jsoup
  • org.jsoup.nodes.Document
  • 4.1- Tạo Documet từ URL
     
  • Jsoup.java
4.2- Tạo Document từ File 4.3- Tạo Document từ String
Element lastElementSibling() Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook Connection kết nối tới URL.
Facebook Jsoup là Java HTML Parser. Nói cách khac Jsoup là một thư viện được sử dụng để phân tích tài liệu HTML. Jsoup cung cấp các API dùng để lấy dữ liệu và thao tác dữ liệu từ URL hoặc từ tập tin HTML. Nó sử dụng các phương thức giống với DOM, CSS , JQuery để lấy dữ liệu và thao tác với dữ liệu. là Java HTML Parser. Nói cách khac Jsoup là một thư viện được sử dụng để phân tích tài liệu HTML. Jsoup cung cấp các API dùng để lấy dữ liệu và thao tác dữ liệu từ URL hoặc từ tập tin HTML. Nó sử dụng các phương thức giống với DOM, CSS , JQuery để lấy dữ liệu và thao tác với dữ liệu. HTML với chỉ định charset .
Hãy xem một ví dụ với Jsoup: Bạn có thể sử dụng Maven hoặc download thư viện Jsoup dưới dạng file jar. Maven hoặc download thư viện Jsoup dưới dạng file jar. HTML với chỉ định charset, và baseUri.
Với maven: Hoặc có thể download: HTML và trả về đối tượng Document.
Jsoup bao gồm nhiều class, tuy nhiên có 3 class quan trọng nhất, bao gồm: bao gồm nhiều class, tuy nhiên có 3 class quan trọng nhất, bao gồm: org.jsoup.nodes.Element    HTML với baseUri thành đối tượng Document.
MethodDescriptionURL thành Document.
static Connection connect(String url) Tạo và trả về đối tượng Connection kết nối tới URL. Connection kết nối tới URL. HTML an toàn từ HTML đầu vào, bằng cách phân tích HTML đầu vào và lọc nó qua một danh sách trắng (Whitelist) của các thẻ và các thuộc tính được phép.
  • Document.java
static Document parse(File in, String charsetName) 4.3- Tạo Document từ String
Element lastElementSibling()

Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook body của tài liệu HTML

Facebook

Jsoup là Java HTML Parser. Nói cách khac Jsoup là một thư viện được sử dụng để phân tích tài liệu HTML. Jsoup cung cấp các API dùng để lấy dữ liệu và thao tác dữ liệu từ URL hoặc từ tập tin HTML. Nó sử dụng các phương thức giống với DOM, CSS , JQuery để lấy dữ liệu và thao tác với dữ liệu. là Java HTML Parser. Nói cách khac Jsoup là một thư viện được sử dụng để phân tích tài liệu HTML. Jsoup cung cấp các API dùng để lấy dữ liệu và thao tác dữ liệu từ URL hoặc từ tập tin HTML. Nó sử dụng các phương thức giống với DOM, CSS , JQuery để lấy dữ liệu và thao tác với dữ liệu. charset được sử dụng trong tài liệu này

Hãy xem một ví dụ với Jsoup:

Bạn có thể sử dụng Maven hoặc download thư viện Jsoup dưới dạng file jar. Maven hoặc download thư viện Jsoup dưới dạng file jar. charset sử dụng cho tài liệu này.

Với maven:

Hoặc có thể download: copy của tài liệu này, bao gồm copy cả các node con.

Jsoup bao gồm nhiều class, tuy nhiên có 3 class quan trọng nhất, bao gồm: bao gồm nhiều class, tuy nhiên có 3 class quan trọng nhất, bao gồm:

org.jsoup.nodes.Element    

Method

DescriptionDocument) rỗng, thích hợp cho việc thêm các phần tử vào nó.

static Connection connect(String url)

Tạo và trả về đối tượng Connection kết nối tới URL. Connection kết nối tới URL.

static Document parse(File in, String charsetName)

Phân tích một file tài liệu HTML với chỉ định charset . HTML với chỉ định charset . URL của tài liệu này.

static Document parse(File in, String charsetName, String baseUri)

Phân tích file tài liệu HTML với chỉ định charset, và baseUri. HTML với chỉ định charset, và baseUri.

static Document parse(String html)

void charset(Charset charset)

Sét charset sử dụng cho tài liệu này.

Document clone() Outer HTML của node này.Outer HTML của node này.

Tạo một phiên bản copy của tài liệu này, bao gồm copy cả các node con.

Element createElement(String tagName)

Tạo mới một phần tử 

static Document createShell(String baseUri)

Tạo một tài liệu (Document) rỗng, thích hợp cho việc thêm các phần tử vào nó. Element head()
Truy cập vào phần tử head. Element head()
Truy cập vào phần tử head.

String location() body của tài liệu này.body của tài liệu này.

Trả về URL của tài liệu này.

String nodeName()

Trả về node name của node này.

Document normalise()

Normalise the document.

String outerHtml() true nếu phần tử (element) với thông tin charset trong tài liệu này được cập nhập thay đổi thông qua phương thức Document.charset(Charset).true nếu phần tử (element) với thông tin charset trong tài liệu này được cập nhập thay đổi thông qua phương thức Document.charset(Charset).

void updateMetaCharsetElement(boolean update)

Sét đặt có hoặc không, phần tử (element) này với thông tin charset được cập nhập thay đổi thông qua phương thức  Document.charset(Charset).charset được cập nhập thay đổi thông qua phương thức  Document.charset(Charset).charset được cập nhập thay đổi thông qua phương thức  Document.charset(Charset).

  • Element.java

4- Thao tác với Document

4.1- Tạo Documet từ URL

GetDocumentFromURL.java


package org.o7planning.tutorial.jsoup.document;

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class GetDocumentFromURL {
  public static void main(String[] args) throws IOException {
      Document doc = Jsoup.connect("http://eclipse.org").get();
      String title = doc.title();
      System.out.println("Title : " + title);
  }
}

Chạy ví dụ:

4.2- Tạo Document từ File

GetDocumentFromFile.java


package org.o7planning.tutorial.jsoup.document;

import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class GetDocumentFromFile {
   public static void main(String[] args) throws IOException {
       File htmlFile = new File("C:/index.html");
       Document doc = Jsoup.parse(htmlFile, "UTF-8");
       String title = doc.title();
       System.out.println("Title : " + title);
   }
}

4.3- Tạo Document từ String

GetDocumentFromString.java


package org.o7planning.tutorial.jsoup.document;

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class GetDocumentFromString {
  public static void main(String[] args) throws IOException {
      String htmlString = "Simple Page"
                         + "Hello";
      Document doc = Jsoup.parse(htmlString);
      String title = doc.title();
      System.out.println("Title : " + title);
      System.out.println("Content:\n");
      System.out.println(doc.toString());
  }
}

Chạy ví dụ:

4.2- Tạo Document từ File

4.3- Tạo Document từ String HTML đầy đủ bao gồm cả Header Body, đôi khi bạn cũng cần phân tích một đoạn HTML. Và bạn có thể lấy ra một tài liệu HTML đầy đủ bao gồm cả header & body. Hãy xem ví dụ:

ParsingBodyFragment.java


package org.o7planning.tutorial.jsoup.document;

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class ParsingBodyFragment {
  public static void main(String[] args) throws IOException {
      String htmlFragment = "

Hi you!

What is this?

"; Document doc = Jsoup.parseBodyFragment(htmlFragment); String fullHtml = doc.html(); System.out.println(fullHtml); } }

Chạy ví dụ:

4.2- Tạo Document từ File

4.3- Tạo Document từ String

4.3- Tạo Document từ String HTML đầy đủ bao gồm cả Header và Body, đôi khi bạn cũng cần phân tích một đoạn HTML. Và bạn có thể lấy ra một tài liệu HTML đầy đủ bao gồm cả header & body. Hãy xem ví dụ: 4.4- Phân tích đoạn HTML
Một tài liệu HTML đầy đủ bao gồm cả Header và Body, đôi khi bạn cũng cần phân tích một đoạn HTML. Và bạn có thể lấy ra một tài liệu HTML đầy đủ bao gồm cả header & body. Hãy xem ví dụ: 5- Các phương thức DOM ID, bao gồm hoặc bên dưới phần tử này.
Jsoup có một vài phương thức gần giống với các phương thức trong mô hình DOM (Một mô hình để phân tích tài liệu XML) ID, bao gồm hoặc bên dưới phần tử này. Phương thức
Mô tả Element getElementById(String id)
Tìm một phần tử cho bởi ID, bao gồm hoặc bên dưới phần tử này. Elements getElementsByTag(String tag)
Tìm các phần tử, bao gồm và cả đệ quy dưới phần tử này, với tên thẻ chỉ định. Elements getElementsByClass(String className)
Tìm phần tử có classNam cho bởi tham số, bao gồm hoặc dưới phần tử này. Elements getElementsByAttribute(String key)
Tìm kiếm các phần tử có thuộc tính cho bởi tham số, không phân biệt chữ hoa chữ thường. Elements siblingElements()
Trả về các phần tử anh em với phần tử hiện tại.

Element firstElementSibling()

4.3- Tạo Document từ String HTML đầy đủ bao gồm cả Header và Body, đôi khi bạn cũng cần phân tích một đoạn HTML. Và bạn có thể lấy ra một tài liệu HTML đầy đủ bao gồm cả header & body. Hãy xem ví dụ: 4.4- Phân tích đoạn HTML
Một tài liệu HTML đầy đủ bao gồm cả Header và Body, đôi khi bạn cũng cần phân tích một đoạn HTML. Và bạn có thể lấy ra một tài liệu HTML đầy đủ bao gồm cả header & body. Hãy xem ví dụ: 5- Các phương thức DOM
Jsoup có một vài phương thức gần giống với các phương thức trong mô hình DOM (Một mô hình để phân tích tài liệu XML) ID, bao gồm hoặc bên dưới phần tử này. Phương thức
Mô tả Element getElementById(String id)
Tìm một phần tử cho bởi ID, bao gồm hoặc bên dưới phần tử này. Elements getElementsByTag(String tag) "class", nó có thể chứa nhiều class name, ngăn cách bởi khoảng trắng. (Ví dụ trả về "header gray")
Tìm các phần tử, bao gồm và cả đệ quy dưới phần tử này, với tên thẻ chỉ định. Elements getElementsByClass(String className) , trả về tập hợp 2 phần tử "header""gray". Chú ý, sửa đổi trên tập hợp này không làm thay đổi thuộc tính của phần tử. Muốn thay đổi sử dụng phương thức classNames(java.util.Set).
Tìm phần tử có classNam cho bởi tham số, bao gồm hoặc dưới phần tử này. Elements getElementsByAttribute(String key) text của nó và tất cả các text của tất cả các phần tử con.
Tìm kiếm các phần tử có thuộc tính cho bởi tham số, không phân biệt chữ hoa chữ thường. Elements siblingElements()
Trả về các phần tử anh em với phần tử hiện tại. Element firstElementSibling() HTML bên trong thẻ này. Ví dụ

a

trả về

a

. (Node.outerHtml() sẽ trả về

a

.)
Trả về phần tử anh em đầu tiên của phần tử hiện tại. Jsoup có một vài phương thức gần giống với các phương thức trong mô hình DOM (Một mô hình để phân tích tài liệu XML) HTML sẵn có bên trong.
Tìm các phần tử, bao gồm và cả đệ quy dưới phần tử này, với tên thẻ chỉ định. "class", nó có thể chứa nhiều class name, ngăn cách bởi khoảng trắng. (Ví dụ trả về "header gray") Tìm phần tử có classNam cho bởi tham số, bao gồm hoặc dưới phần tử này. , trả về tập hợp 2 phần tử "header" và "gray". Chú ý, sửa đổi trên tập hợp này không làm thay đổi thuộc tính của phần tử. Muốn thay đổi sử dụng phương thức classNames(java.util.Set).
Tìm kiếm các phần tử có thuộc tính cho bởi tham số, không phân biệt chữ hoa chữ thường. text của nó và tất cả các text của tất cả các phần tử con. Trả về phần tử anh em đầu tiên của phần tử hiện tại. HTML bên trong thẻ này. Ví dụ a trả về a. (Node.outerHtml() sẽ trả về a.)
Trả về các phần tử anh em với phần tử hiện tại.

Element firstElementSibling()

Trả về phần tử anh em đầu tiên của phần tử hiện tại. Jsoup có một vài phương thức gần giống với các phương thức trong mô hình DOM (Một mô hình để phân tích tài liệu XML)
Tìm các phần tử, bao gồm và cả đệ quy dưới phần tử này, với tên thẻ chỉ định. "class", nó có thể chứa nhiều class name, ngăn cách bởi khoảng trắng. (Ví dụ trả về "header gray") Các phương thức lấy dữ liệu trên Element.
String attr(String key) Trả về giá trị thuộc tính cho bởi key của phần tử này.
void attr(String key, String value) Sét giá trị thuộc tính. Nếu thuộc tính đã tồn tại, nó sẽ bị thay thế.
String id() Trả về thuộc tính ID, nếu có, hoặc trả về string rỗng nếu không có.
String className() Trả về chuỗi chữ giá trị của thuộc tính "class", nó có thể chứa nhiều class name, ngăn cách bởi khoảng trắng. (Ví dụ trả về "header gray")
Set classNames() Trả về tất cả các class names. Ví dụ , trả về tập hợp 2 phần tử "header" và "gray". Chú ý, sửa đổi trên tập hợp này không làm thay đổi thuộc tính của phần tử. Muốn thay đổi sử dụng phương thức classNames(java.util.Set).
String text() Trả về một văn bản kết hợp text của nó và tất cả các text của tất cả các phần tử con.
Element firstElementSibling()

Trả về phần tử anh em đầu tiên của phần tử hiện tại. DOM, phân tích một tài liệu HTML ghi ra các thông tin trong thẻ form. DOM, phân tích một tài liệu HTML ghi ra các thông tin trong thẻ form.

register.html






Register


   
User Name
Password
Email

ReadHtmlForm.java


package org.o7planning.tutorial.jsoup.dom;

import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class ReadHtmlForm {
   public static void main(String[] args) throws IOException {
       Document doc = Jsoup.parse(new File("files/register.html"), "utf-8");
       Element form = doc.getElementById("registerForm");
       System.out.println("Form action = "+ form.attr("action"));
       Elements inputElements = form.getElementsByTag("input");
       for (Element inputElement : inputElements) {
           String key = inputElement.attr("name");
           String value = inputElement.attr("value");
           System.out.println(key + " =  " + value);
       }
   }
}

Chạy ví dụ:

GetAllLinks.java


package org.o7planning.tutorial.jsoup.dom;

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class GetAllLinks {
   public static void main(String[] args) throws IOException {
       Document doc = Jsoup.connect("http://o7planning.org").get();
       // Elements extends ArrayList.
       Elements aElements = doc.getElementsByTag("a");
       for (Element aElement : aElements) {
           String href = aElement.attr("href");
           String text = aElement.text();
           System.out.println(text);
           System.out.println("\t" + href);
       }
   }
}

Chạy ví dụ:

Element lastElementSibling()

Trả về phần tử anh em cuối cùng của phần tử hiện tại.

  ...... cung cấp cho bạn một vài phương thức để làm việc này: cung cấp cho bạn một vài phương thức để làm việc này:

  • Các phương thức lấy dữ liệu trên Element.
  • String attr(String key)

Trả về giá trị thuộc tính cho bởi key của phần tử này.


Connection conn = Jsoup.connect("http://o7planning.org");
Document doc = conn.get();

// Phần tử a với thuộc tính href
Elements links = doc.select("a[href]");
// img với thuộc tính src kết thúc bởi .png
Elements pngs = doc.select("img[src$=.png]");
// div với class=masthead
Element masthead = doc.select("div.masthead").first();
// Phần tử a ngay sau h3.
Elements resultLinks = doc.select("h3.r > a");

void attr(String key, String value) JSoup hỗ trợ bạn cú pháp giống với CSS (hoặc JQuery) giúp bạn tìm kiếm các phần tử phù hợp. Những hỗ trợ như vậy là rất mạnh mẽ. Các phương thức lựa chọn có sẵn trong lớp Document, Element hoặc Elements.

Sét giá trị thuộc tính. Nếu thuộc tính đã tồn tại, nó sẽ bị thay thế.

String id() Trả về thuộc tính ID, nếu có, hoặc trả về string rỗng nếu không có.
String className() Trả về chuỗi chữ giá trị của thuộc tính "class", nó có thể chứa nhiều class name, ngăn cách bởi khoảng trắng. (Ví dụ trả về "header gray") a
Set classNames() Trả về tất cả các class names. Ví dụ , trả về tập hợp 2 phần tử "header" và "gray". Chú ý, sửa đổi trên tập hợp này không làm thay đổi thuộc tính của phần tử. Muốn thay đổi sử dụng phương thức classNames(java.util.Set). fb|name nghĩa là tìm các phần tử
String text() Trả về một văn bản kết hợp text của nó và tất cả các text của tất cả các phần tử con. #logo
Element firstElementSibling() Trả về phần tử anh em đầu tiên của phần tử hiện tại. DOM, phân tích một tài liệu HTML ghi ra các thông tin trong thẻ form. .masthead
Chạy ví dụ: Element lastElementSibling() [href]
Trả về phần tử anh em cuối cùng của phần tử hiện tại.   ...... cung cấp cho bạn một vài phương thức để làm việc này: [^data-] tìm kiếm các phần tử với thuộc tính bắt đầu bởi data-
void attr(String key, String value) JSoup hỗ trợ bạn cú pháp giống với CSS (hoặc JQuery) giúp bạn tìm kiếm các phần tử phù hợp. Những hỗ trợ như vậy là rất mạnh mẽ. Các phương thức lựa chọn có sẵn trong lớp Document, Element hoặc Elements. Một tài liệu HTML đầy đủ bao gồm cả Header và Body, đôi khi bạn cũng cần phân tích một đoạn HTML. Và bạn có thể lấy ra một tài liệu HTML đầy đủ bao gồm cả header & body. Hãy xem ví dụ: [width=500] (Cũng có thể sử dụng dấu nháy kép)
5- Các phương thức DOM Jsoup có một vài phương thức gần giống với các phương thức trong mô hình DOM (Một mô hình để phân tích tài liệu XML) a[href*=/path/]
Phương thức Mô tảfb|name nghĩa là tìm các phần tử img[src~=(?i)\.(png|jpe?g)]
#id Tìm kiếm phần tử theo ID, ví dụ #logo#logo*

.class:

Tìm kiếm các phần tử theo tên class, ví dụ .masthead.masthead [attribute]
Các phần tử với thuộc tính, ví dụ [href][href][^attr] div#logo
Các phần tử với thuộc tính bắt đầu bởi, ví dụ [^data-] tìm kiếm các phần tử với thuộc tính bắt đầu bởi data- [^data-] tìm kiếm các phần tử với thuộc tính bắt đầu bởi data- [attr=value] div.masthead
Các phần tử với giá trị thuộc tính, ví dụ [width=500] (Cũng có thể sử dụng dấu nháy kép) [width=500] (Cũng có thể sử dụng dấu nháy kép) [attr^=value], [attr$=value], [attr*=value] a[href]
Các phần tử với giá trị thuộc tính bắt đầu, kết thúc bởi, hoặc chứa giá trị, ví dụ [href*=/path/][href*=/path/][attr~=regex] a[href].highlight
Các phần tử với giá trị khớp với biểu thức chính quy, ví dụ img[src~=(?i)\.(png|jpe?g)]img[src~=(?i)\.(png|jpe?g)]* .body p tìm kiếm các phần tử p bất kỳ là hậu duệ của phần tử có thuộc tính class = "body".
Tất cả các phần tử, ví dụ ** Selector kết hợp div.content > p tìm kiếm các phần tử p là con trực tiếp của div class ='content'; và body > * tìm kiếm các phần tử con trực tiếp của thẻ body.
SelectorMô tảdiv.head + div
el#id Phần tử với ID, ví dụ div#logodiv#logoh2 ~ p
el.class Các phần tử với class, ví dụ div.mastheaddiv.mastheaddiv.masthead, div.logo

el[attr]

Tìm kiếm các phần tử theo tên class, ví dụ .masthead.masthead [attribute]
Các phần tử với thuộc tính, ví dụ [href][href][^attr] td:lt(3)
Các phần tử với thuộc tính bắt đầu bởi, ví dụ [^data-] tìm kiếm các phần tử với thuộc tính bắt đầu bởi data- [^data-] tìm kiếm các phần tử với thuộc tính bắt đầu bởi data- [attr=value] div p:gt(2)
Các phần tử với giá trị thuộc tính, ví dụ [width=500] (Cũng có thể sử dụng dấu nháy kép) [width=500] (Cũng có thể sử dụng dấu nháy kép) [attr^=value], [attr$=value], [attr*=value]
Các phần tử với giá trị thuộc tính bắt đầu, kết thúc bởi, hoặc chứa giá trị, ví dụ [href*=/path/][href*=/path/][attr~=regex] div:has(p)
Các phần tử với giá trị khớp với biểu thức chính quy, ví dụ img[src~=(?i)\.(png|jpe?g)]img[src~=(?i)\.(png|jpe?g)]* div:not(.logo)
Tất cả các phần tử, ví dụ **Các phần tử con trực tiếp của phần tử cha, ví dụ div.content > p tìm kiếm các phần tử p là con trực tiếp của div có class ='content'; và body > * tìm kiếm các phần tử con trực tiếp của thẻ body. p:contains(jsoup)p:contains(jsoup)
siblingA + siblingB Tìm kiếm phần tử anh em B ngay phía trước của phần tử A, ví dụ div.head + div
siblingA ~ siblingX Tìm kiếm các phần tử anh em X trước phần tử A, ví dụ h2 ~ pdiv:matches((?i)login)div:matches((?i)login)
el, el, el Nhóm nhiều Selector, tìm kiếm các phần tử khớp với một trong những Selector; ví dụ div.masthead, div.logo
Pseudo selectors

QueryLinks.java




   org.jsoup
   jsoup
   1.8.3

0

:lt(n)

document.html




   org.jsoup
   jsoup
   1.8.3

1

SelectorDemo1.java




   org.jsoup
   jsoup
   1.8.3

2

:lt(n)