Často kladené otázky
Licencování & Open Source
Jakou licenci používá Aspose.HTML FOSS pro Python?
Knihovna je vydána pod licencí MIT. Plný text je dodáván jako LICENSE soubor v repozitář GitHubu.
Mohu ji použít v komerčních produktech?
Ano. MIT License umožňuje komerční použití, úpravy, redistribuci a sublicencování. Jedinou podmínkou je zachování oznámení o autorských právech a textu licence u podstatných kopií.
Instalace & Požadavky
Jak nainstaluji knihovnu, a které verze Python jsou podporovány?
Nainstalujte pomocí git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git. Knihovna vyžaduje Python 3.10 nebo novější; aktuální verze je 0.1.0.
Existují nějaké nativní závislosti?
Ne. Implementace je čistý Python — žádný prohlížečový engine, žádné kompilované rozšíření — takže se chová identicky na Windows, Linuxu a macOS, včetně CI runnerů a kontejnerů.
API Usage
Jak mohu parsovat HTML do dokumentu?
Použijte HTMLDocument.parse() pro kompletní stránky nebo HTMLDocument.parse_fragment() pro částečný markup. Pro programovou konstrukci je Document továrna na uzly:
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)Jak použít CSS a přečíst vzniklý styl?
Parsujte text stylesheetu pomocí CSSStyleSheet.replace_sync(), připojte jej pomocí Document.attach_style_sheet() a přečtěte vyřešený výsledek pomocí 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"))Zvládá kaskáda specifikaci a !important správně?
Ano. Vypočtené hodnoty se řídí specifikací selektoru (ID přebije třídu, která přebije typ), inline deklarace mají přednost před pravidly autora a !important pravidla autora mají přednost před ne-important inline deklaracemi. Dědičnost proudí od rodiče k potomkovi u děditelných vlastností.
Mohu použít tokenizer a tree builder přímo?
Ano — Tokenizer.tokenize() vydává standardní tokenový proud, TreeBuilder.run() provádí konstrukci stromu a parse_html() zabaluje celý pipeline do jediného volání.
Jak pracovat s URL a znakových kódování?
URL.parse() a URL.can_parse() poskytují zpracování URL ve stylu WHATWG s URLSearchParams pro řetězce dotazů. Pro surové bajty detect_encoding() vrací kódování, úroveň důvěry a dekódovaný text.
Známá omezení
Existují nějaká API, která jsou k dispozici, ale nejsou implementována?
Je deklarováno jen malé množství členů, které však nejsou v současnosti funkční, včetně CSSRule.type, CSSRule.css_text a HTMLImageElement.decode. Soubor limitations.md v modelu znalostí tyto položky sleduje; vyhněte se na ně spoléhat.
Vykresluje knihovna stránky nebo převádí do jiných formátů?
Ne. Aktuální vydání se zaměřuje na parsování, manipulaci s DOM, výpočet stylů CSS, struktury rozvržení, URL a kódování. Neobsahuje konverzi formátů ani vykreslování obrázků/PDF.
Je JavaScript spouštěno automaticky během parsování?
Ne. Parsování nikdy nespouští skripty. Vyhodnocování skriptů je explicitní a přihlašuje se přes JSContext, přičemž načítání modulů řídí ModuleRegistry a ModuleLoadPolicy.