Aspose.HTML FOSS for Python jest darmową, otwarto-źródłową biblioteką do pracy z dokumentami HTML w aplikacjach Python. Zainstaluj ją za pomocą jednego polecenia git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git i rozpocznij parsowanie znacznika do modelu obiektowego dokumentu, budowanie i modyfikowanie drzew elementów, dołączanie arkuszy stylów CSS, rozwiązywanie stylów obliczonych oraz pracę z URL-ami i kodowaniami znaków — wszystko w czystym Python bez zależności od przeglądarki.
Biblioteka udostępnia standardowo zorientowany API oparty na HTMLDocument, Document, Element oraz CSSStyleSheet. Parsuj znacznik za pomocą HTMLDocument.parse(), twórz i łącz węzły przy użyciu Document.create_element() i append_child(), wyszukuj elementy metodą get_element_by_id(), stylizuj je za pomocą CSSStyleSheet.replace_sync() oraz deklaracji style na poziomie elementu, a wynik odczytuj przy pomocy Element.get_computed_style(). Niższe poziomy budulców — HTML Tokenizer, TreeBuilder, stylowe WHATWG URL i URLSearchParams oraz detektor strumieni bajtowych detect_encoding() — są dostępne, gdy potrzebna jest bezpośrednia kontrola.
Aspose.HTML FOSS jest licencjonowany na warunkach MIT i zaimplementowany w czystym Python, wymagając Python 3.10 lub nowszego. Działa identycznie na Windows, Linux i macOS — w tym w środowiskach CI, kontenerach Docker oraz w środowiskach serverless. Dla rodziny produktów enterprise zobacz Aspose.HTML — Enterprise Product Family.
HTMLDocument.parse() lub fragmenty za pomocą HTMLDocument.parse_fragment()Document.create_element() i append_child()Document.get_element_by_id() i odczytuj atrybuty markup poprzez Element.get_attribute()Element.set_attribute() i przypisuj tekst przez Node.text_contentserialise()CSSStyleSheet.replace_sync() i dołącz go poprzez Document.attach_style_sheet()style przy użyciu CSSStyleDeclaration.set_property()Element.get_computed_style()CSSStyleDeclaration.get_property_value()Tokenizer.tokenize() lub Tokenizer.tokenize_fragment()TreeBuilder.run()parse_html()URL.parse() i URL.can_parse()URLSearchParams — append(), get(), has(), delete()detect_encoding()get_canonical_name()Utwórz dokument, podłącz arkusz stylów i odczytaj obliczony styl — selektor ID ma pierwszeństwo przed regułą klasy:
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"))
Deklaracje inline mają wyższą specyficzność niż reguły arkusza stylów autora:
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"))
Wykryj kodowanie surowego strumienia bajtów, w tym BOM, i uzyskaj zdekodowany tekst:
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)
Licencja MIT — komercyjne użycie, modyfikacja i redystrybucja są dozwolone; jedynym wymogiem jest zachowanie informacji o prawach autorskich przy znacznych kopiach.
Python 3.10 lub później. Zainstaluj przy użyciu git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — implementacja jest czystym Python bez natywnych zależności.
Użyj HTMLDocument.parse() dla pełnych stron lub HTMLDocument.parse_fragment() dla częściowego markupu; Document jest fabryką do budowania drzew programowo.
Tak — wyliczone wartości podążają za specyficznością selektora, deklaracje inline mają wyższy priorytet niż reguły autora, reguły autora !important mają wyższy priorytet niż nie-ważne deklaracje inline oraz dziedziczenie płynie od rodzica do dziecka.
Nie. Aktualne wydanie koncentruje się na parsowaniu, manipulacji DOM, CSS obliczaniu stylów, strukturach układu, URL-ach i kodowaniach — brak konwersji formatów ani renderowania obrazów/PDF.
Nie. Parsowanie nigdy nie uruchamia skryptów; ewaluacja jest jawna i wymaga zgody poprzez JSContext z ładowaniem modułów kontrolowanym przez ModuleRegistry i ModuleLoadPolicy.