Často kladené otázky

Č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.

Viz také:

 Čeština