Hướng dẫn chạy file html trong java năm 2024

Jsoup là Java HTML Parser. Nó là một thư viện mã nguồn mở, được sử dụng để phân tích nội dung HTML. Jsoup cung cấp các API dùng để lấy và thao tác dữ liệu từ URL hoặc từ tập tin HTML. Jsoup 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.

  • org.jsoup.Jsoup
  • org.jsoup.nodes.Document
  • org.jsoup.nodes.Element

Lớp org.jsoup.Jsoup

Phương thứcMô tảstatic Connection connect(String url)Tạo và trả về đối tượng 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 .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.static Document parse(String html)Phân tích mã HTML và trả về đối tượng Document.static Document parse(String html, String baseUri)Phân tích mã HTML với baseUri thành đối tượng Document.static Document parse(URL url, int timeoutMillis)Phân tích một URL thành Document.static String clean(String bodyHtml, Whitelist whitelist)Trả về 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.

Lớp org.jsoup.nodes.Document

Phương thứcMô tảElement body()Truy cập vào phần tử body của tài liệu HTMLCharset charset()Trả về charset được sử dụng trong tài liệu nàyvoid charset(Charset charset)Sét charset sử dụng cho tài liệu này.Document clone()Tạo một phiên bản copy của tài liệu này, bao gồm copy cả các nodecon.Element createElement(String tagName)Tạo mới một phần tửElement head()Truy cập vào phần tử head.String location()Trả về URL của tài liệu này.String nodeName()Trả về node name của node này.Element text(String text)Sét đặt nội dung văn bản (text) của body của tài liệu này.String title()Trả về nội dung tiêu đề của tài liệu.void title(String title)Sét đặt nội dung tiêu đề cho tài liệu.

Lớp org.jsoup.nodes.Element

Các phương thức trong mô hình 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).

Phương thứcMô 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()Trả về phần tử anh em đầu tiên của phần tử hiện tại.Element lastElementSibling()Trả về phần tử anh em cuối cùng của phần tử hiện tại.……

Các phương thức lấy dữ liệu trên Element

Phương thứcMô tả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.void text(String value)Set text cho phần tử này.String html()Trả về String các HTML bên trong thẻ này. Ví dụ

a

trả về

a

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

a

.)void html(String value)Xóa hết các HTML sẵn có bên trong và Set Html bên trong phần tử này.Tag tag()Trả về Tag cho phần tử này.String tagName()Trả về tên thẻ của phần tử này. Ví dụ div.……

Các phương thức thay đổi DOM HTML

Phương thứcMô tảElement append(String html)Nối thêm HTML vào trong phần tử này. Html được cung cấp sẽ được phân tích, và các node sẽ được nối vào phía cuối tập các node con của phần tử này.Element prepend(String html)Nối thêm HTML vào phần tử này. Html được cung cấp sẽ được phân tích, và các node sẽ được nối vào phía trước tập các node con của phẩn tử này.Element appendText(String text)Tạo và nối một TextNode mới vào phần tử này.Element prependText(String text)Tạo và nối một TextNode mới vào phía trước tập các node con của phần tử này.Element appendElement(String tagName)Tạo một phần tử mới cho bởi tag name. Và nối nó vào như phần tử con ở cuối cùng.Element prependElement(String tagName)Tạo mới một phần tử bởi tag name, và nối nó vào như phần tử con đầu tiên.Element html(String value)Sét đặt html bên trong phần tử này. Xóa hết Html bên trong sẵn có.……

Các phương thức tương tự Css, jQuery

Jsoup cung cấp một vài phương thức để tìm kiếm, truy vấn các phần tử sử dụng ngữ pháp giống CSS hoặc jQuery: