Aspose.HTML FOSS for Python este o bibliotecă gratuită, open-source pentru lucrul cu documente HTML în aplicații Python. Instalați-o cu o singură comandă git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git și începeți să analizați markup-ul într-un model de obiect document, să construiți și să modificați arbori de elemente, să atașați foi de stil CSS, să rezolvați stilurile calculate și să lucrați cu URL-uri și codări de caractere — totul în Python pur, fără dependență de browser.
Biblioteca expune un API orientat pe standarde, construit în jurul lui HTMLDocument, Document, Element și CSSStyleSheet. Analizați markup-ul cu HTMLDocument.parse(), creați și conectați noduri cu Document.create_element() și append_child(), căutați elemente cu get_element_by_id(), stilizați-le prin CSSStyleSheet.replace_sync() și declarația style la nivel de element și citiți rezultatul înapoi cu Element.get_computed_style(). Blocurile de construcție de nivel inferior — HTML Tokenizer, TreeBuilder, URL și URLSearchParams în stil WHATWG și detectorul de flux de octeți detect_encoding() — sunt disponibile când aveți nevoie de control direct.
Aspose.HTML FOSS este licențiată sub MIT și implementată în Python pur, necesitând Python 3.10 sau o versiune ulterioară. Rulează identic pe Windows, Linux și macOS — inclusiv pe executori CI, containere Docker și medii serverless. Pentru familia de produse enterprise, vedeți Aspose.HTML — Enterprise Product Family.
HTMLDocument.parse() sau fragmente cu HTMLDocument.parse_fragment()Document.create_element() și append_child()Document.get_element_by_id() și citiți atributele markup prin Element.get_attribute()Element.set_attribute() și atribuiți text prin Node.text_contentserialise()CSSStyleSheet.replace_sync() și atașează-l prin Document.attach_style_sheet()style a elementului cu CSSStyleDeclaration.set_property()Element.get_computed_style()CSSStyleDeclaration.get_property_value()Tokenizer.tokenize() sau Tokenizer.tokenize_fragment()TreeBuilder.run()parse_html()URL.parse() și URL.can_parse()URLSearchParams — append(), get(), has(), delete()detect_encoding()get_canonical_name()Creează un document, atașează o foaie de stil și citește stilul calculat — selectorul ID are prioritate față de regula de clasă:
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"))
Declarațiile inline au o specificitate mai mare decât regulile foii de stil a autorului:
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"))
Detectează codarea unui flux brut de octeţi, inclusiv BOM, şi obţine textul decodat înapoi:
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)
Licența MIT — utilizarea comercială, modificarea și redistribuirea sunt permise; singura cerință este păstrarea notificării de drepturi de autor în copii substanțiale.
Python 3.10 sau o versiune ulterioară. Instalați cu git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — implementarea este pur Python fără dependențe native.
Folosiți HTMLDocument.parse() pentru pagini complete sau HTMLDocument.parse_fragment() pentru markup parțial; Document este fabrica pentru construirea arborilor în mod programatic.
Da — valorile calculate urmează specificitatea selectorului, declarațiile inline au prioritate față de regulile autorului, regulile autorului !important au prioritate față de declarațiile inline neimportante, și moștenirea curge de la părinte la copil.
Nu. Versiunea curentă se concentrează pe parsare, manipularea DOM, calculul stilului CSS, structurile de layout, URL-uri și codări — fără conversie de format sau redare imagine/PDF.
Nu. Analiza nu rulează niciodată scripturi; evaluarea este explicită și opțională prin JSContext cu încărcarea modulelor controlată de ModuleRegistry și ModuleLoadPolicy.