Vanliga frågor
Licensiering & Öppen källkod
Vilken licens använder Aspose.HTML FOSS för Python?
Biblioteket är släppt under MIT License. Den fullständiga texten levereras som den LICENSE fil i GitHub-arkivet.
Kan jag använda den i kommersiella produkter?
Ja. MIT License tillåter kommersiell användning, modifiering, återdistribution och vidarelicensiering. Det enda kravet är att behålla copyright-meddelandet och licenstexten i väsentliga kopior.
Installation & Krav
Hur installerar jag biblioteket, och vilka Python-versioner stöds?
Installera med git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git. Biblioteket kräver Python 3.10 eller senare; den aktuella utgåvan är 0.1.0.
Finns det några inhemska beroenden?
Nej. Implementeringen är ren Python — ingen webbläsarmotor, inga kompilerade tillägg — så den beter sig identiskt på Windows, Linux och macOS, inklusive CI-körningar och containrar.
API Usage
Hur parsar jag HTML till ett dokument?
Använd HTMLDocument.parse() för kompletta sidor eller HTMLDocument.parse_fragment() för partiell markup. För programmatisk konstruktion är Document nodfabriken:
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)Hur tillämpar jag CSS och läser den resulterande stilen?
Parsa stylesheet-text med CSSStyleSheet.replace_sync(), fäst den med Document.attach_style_sheet() och läs det lösta resultatet med Element.get_computed_style():
from aspose_html.cssom import CSSStyleSheet
sheet = CSSStyleSheet()
sheet.replace_sync("#bar { color: blue }")
doc.attach_style_sheet(sheet)
print(el.get_computed_style().get_property_value("color"))Hantera kaskaden specifikitet och !important korrekt?
Ja. Beräknade värden följer selektorspecificitet (ID slår klass, klass slår typ), inline-deklarationer har företräde framför författarregler, och !important författarregler har företräde framför icke-viktiga inline-deklarationer. Arv flödar från förälder till barn för ärftliga egenskaper.
Kan jag använda tokeniseraren och trädbyggaren direkt?
Ja — Tokenizer.tokenize() genererar standardens tokenström, TreeBuilder.run() utför trädkonstruktion, och parse_html() omsluter hela pipeline i ett anrop.
Hur arbetar jag med URL:er och teckenkodningar?
URL.parse() och URL.can_parse() tillhandahåller URL-hantering i WHATWG-stil med URLSearchParams för frågesträngar. För råa bytes returnerar detect_encoding() kodningen, en förtroendenivå och avkodad text.
Kända begränsningar
Finns det några API:er som är närvarande men inte implementerade?
Ett litet antal medlemmar är deklarerade men för närvarande inte funktionella, inklusive CSSRule.type, CSSRule.css_text och HTMLImageElement.decode. limitations.md-filen i kunskapsmodellen spårar dessa; undvik att förlita dig på dem.
Renderar biblioteket sidor eller konverterar till andra format?
Nej. Den aktuella versionen fokuserar på parsning, DOM-manipulation, CSS stilberäkning, layoutstrukturer, URL:er och kodningar. Den levererar inte formatkonvertering eller rendering av bild/PDF.
Körs JavaScript automatiskt under parsning?
Nej. Parsning kör aldrig skript. Skriptevaluering är explicit och kräver samtycke via JSContext, med modulhämtning styrd av ModuleRegistry och ModuleLoadPolicy.