Aspose.HTML FOSS for Python là một thư viện miễn phí, mã nguồn mở để làm việc với các tài liệu HTML trong các ứng dụng Python. Cài đặt nó bằng một lệnh git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git duy nhất và bắt đầu phân tích markup thành mô hình đối tượng tài liệu, xây dựng và chỉnh sửa cây phần tử, gắn các stylesheet CSS, giải quyết các kiểu đã tính toán, và làm việc với URL và mã ký tự — tất cả trong Python thuần túy mà không cần phụ thuộc vào trình duyệt.
Thư viện cung cấp một API hướng chuẩn được xây dựng quanh HTMLDocument, Document, Element và CSSStyleSheet. Phân tích markup bằng HTMLDocument.parse(), tạo và kết nối các nút bằng Document.create_element() và append_child(), tra cứu các phần tử bằng get_element_by_id(), áp dụng kiểu cho chúng qua CSSStyleSheet.replace_sync() và khai báo style ở mức phần tử, và đọc kết quả lại bằng Element.get_computed_style(). Các khối xây dựng cấp thấp — HTML Tokenizer, TreeBuilder, URL và URLSearchParams theo kiểu WHATWG, và bộ phát hiện luồng byte detect_encoding() — đều sẵn có khi bạn cần kiểm soát trực tiếp.
Aspose.HTML FOSS được cấp phép MIT và được triển khai bằng Python thuần túy, yêu cầu Python 3.10 trở lên. Nó chạy giống hệt trên Windows, Linux và macOS — bao gồm cả các runner CI, container Docker và môi trường serverless. Đối với họ sản phẩm doanh nghiệp, xem Aspose.HTML — Enterprise Product Family.
HTMLDocument.parse() hoặc các đoạn bằng HTMLDocument.parse_fragment()Document.create_element() và append_child()Document.get_element_by_id() và đọc các thuộc tính markup qua Element.get_attribute()Element.set_attribute() và gán văn bản qua Node.text_contentserialise()CSSStyleSheet.replace_sync() và gắn nó thông qua Document.attach_style_sheet()style của phần tử bằng CSSStyleDeclaration.set_property()Element.get_computed_style()CSSStyleDeclaration.get_property_value()Tokenizer.tokenize() hoặc Tokenizer.tokenize_fragment()TreeBuilder.run()parse_html()URL.parse() và URL.can_parse()URLSearchParams — append(), get(), has(), delete()detect_encoding()get_canonical_name()Tạo một tài liệu, gắn một stylesheet, và đọc kiểu đã tính toán — bộ chọn ID thắng so với quy tắc lớp:
from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync(".foo { color: red } #bar { color: blue }")
doc.attach_style_sheet(sheet)
style = el.get_computed_style()
print(style.get_property_value("color"))
Các khai báo nội tuyến có độ ưu tiên cao hơn so với các quy tắc stylesheet của tác giả:
from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("div { color: red }")
doc.attach_style_sheet(sheet)
inline = el.style
inline.set_property("color", "blue")
print(el.get_computed_style().get_property_value("color"))
Phát hiện mã hoá của một luồng byte thô, bao gồm BOM, và nhận lại văn bản đã giải mã:
from aspose_html.encoding.detection import detect_encoding
result = detect_encoding(b"\xef\xbb\xbf<p>x</p>")
print(result.encoding)
print(result.confidence)
print(result.text)
Bản quyền MIT — việc sử dụng thương mại, sửa đổi và phân phối lại đều được phép; yêu cầu duy nhất là giữ thông báo bản quyền khi sao chép đáng kể.
Python 3.10 trở lên. Cài đặt bằng git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — triển khai hoàn toàn Python mà không có phụ thuộc gốc.
Sử dụng HTMLDocument.parse() cho các trang hoàn chỉnh hoặc HTMLDocument.parse_fragment() cho markup một phần; Document là nhà máy để xây dựng cây một cách lập trình.
Có — các giá trị được tính toán tuân theo độ đặc hiệu của bộ chọn, khai báo nội tuyến vượt trội hơn các quy tắc của tác giả, các quy tắc tác giả !important vượt trội hơn các khai báo nội tuyến không quan trọng, và kế thừa diễn ra từ cha sang con.
Không. Bản phát hành hiện tại tập trung vào việc phân tích cú pháp, thao tác DOM, tính toán kiểu CSS, cấu trúc bố cục, URL và mã hoá — không chuyển đổi định dạng hoặc hiển thị hình ảnh/PDF.
Không. Phân tích cú pháp không bao giờ chạy script; việc đánh giá là rõ ràng và phải đồng ý thông qua JSContext với việc tải mô-đun được kiểm soát bởi ModuleRegistry và ModuleLoadPolicy.