Vanliga frågor

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.

Se även

 Svenska