Aspose.HTML FOSS for Python ist eine kostenlose, quelloffene Bibliothek zum Arbeiten mit HTML-Dokumenten in Python-Anwendungen. Installieren Sie sie mit einem einzelnen git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git-Befehl und beginnen Sie damit, Markup in ein Dokumentobjektmodell zu parsen, Elementbäume zu bauen und zu modifizieren, CSS-Stylesheets anzuhängen, berechnete Stile aufzulösen und mit URLs und Zeichenkodierungen zu arbeiten – alles in reinem Python ohne Browser-Abhängigkeit.
Die Bibliothek stellt ein standardsorientiertes API bereit, das um HTMLDocument, Document, Element und CSSStyleSheet herum aufgebaut ist. Parsen Sie Markup mit HTMLDocument.parse(), erstellen und verbinden Sie Knoten mit Document.create_element() und append_child(), suchen Sie Elemente mit get_element_by_id(), stylen Sie sie über CSSStyleSheet.replace_sync() und die elementbezogene style-Deklaration und lesen Sie das Ergebnis mit Element.get_computed_style() zurück. Niedrigere Bausteine – der HTML Tokenizer, der TreeBuilder, WHATWG-ähnliche URL und URLSearchParams sowie der detect_encoding()-Byte-Stream-Detektor – stehen zur Verfügung, wenn Sie direkte Kontrolle benötigen.
Aspose.HTML FOSS ist unter der MIT-Lizenz veröffentlicht und in reinem Python implementiert, wobei Python 3.10 oder neuer erforderlich ist. Es läuft identisch unter Windows, Linux und macOS – einschließlich CI-Runner, Docker-Container und serverlose Umgebungen. Für die Enterprise-Produktfamilie siehe Aspose.HTML — Enterprise Product Family.
HTMLDocument.parse() oder Fragmente mit HTMLDocument.parse_fragment()Document.create_element() und append_child()Document.get_element_by_id() und lesen Sie Markup-Attribute über Element.get_attribute()Element.set_attribute() und weisen Sie Text über Node.text_content zuserialise()CSSStyleSheet.replace_sync() und hänge ihn über Document.attach_style_sheet() anstyle-Eigenschaft des Elements mit CSSStyleDeclaration.set_property()Element.get_computed_style()CSSStyleDeclaration.get_property_value() ausTokenizer.tokenize() oder Tokenizer.tokenize_fragment()TreeBuilder.run() durchparse_html()URL.parse() und URL.can_parse() parsen und validierenURLSearchParams lesen und bearbeiten — append(), get(), has(), delete()detect_encoding() erkennenget_canonical_name() in kanonische Namen normalisierenErstellen Sie ein Dokument, hängen Sie ein Stylesheet an und lesen Sie den berechneten Stil — der ID-Selektor hat Vorrang vor der Klassenregel:
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"))
Inline-Deklarationen haben eine höhere Spezifität als Autor-Stylesheet-Regeln:
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"))
Ermitteln Sie die Kodierung eines rohen Bytestroms, einschließlich BOM, und erhalten Sie den dekodierten Text zurück:
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)
Die MIT License — kommerzielle Nutzung, Modifikation und Weiterverteilung sind alle erlaubt; die einzige Voraussetzung ist, den Copyright-Hinweis bei wesentlichen Kopien beizubehalten.
Python 3.10 oder höher. Installieren Sie mit git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — die Implementierung ist rein Python ohne native Abhängigkeiten.
Verwenden Sie HTMLDocument.parse() für komplette Seiten oder HTMLDocument.parse_fragment() für Teil-Markup; Document ist die Fabrik zum programmatischen Erstellen von Bäumen.
Ja — berechnete Werte folgen der Selektorspezifität, Inline-Deklarationen haben Vorrang vor Autorregeln, !important-Autorregeln haben Vorrang vor nicht-wichtigen Inline-Deklarationen und die Vererbung fließt von Eltern zu Kind.
Nein. Die aktuelle Version konzentriert sich auf Parsing, DOM-Manipulation, CSS Stilberechnung, Layout-Strukturen, URLs und Kodierungen — keine Formatkonvertierung oder Bild/PDF-Rendering.
Nein. Parsing führt niemals Skripte aus; die Auswertung ist explizit und nur auf Wunsch über JSContext möglich, wobei das Laden von Modulen durch ModuleRegistry und ModuleLoadPolicy gesteuert wird.