Gyakran Ismételt Kérdések
Licencelés & Nyílt Forráskód
Milyen licencet használ a Aspose.HTML FOSS a Python számára?
A könyvtár az MIT licenc alatt kerül kiadásra. A teljes szöveg a LICENSE fájl a GitHub tároló.
Használhatom kereskedelmi termékekben?
Igen. Az MIT licenc megengedi a kereskedelmi felhasználást, módosítást, újraelosztást és allicencelést. Az egyetlen követelmény, hogy a szerzői jogi nyilatkozatot és a licenc szövegét megőrizzék a jelentős másolatoknál.
Telepítés & Követelmények
Hogyan telepíthetem a könyvtárat, és mely Python verziók támogatottak?
Telepítsd a git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git használatával. A könyvtár a Python 3.10 vagy újabb verzióját igényli; a jelenlegi kiadás 0.1.0.
Vannak natív függőségek?
Nem. A megvalósítás tiszta Python — nincs böngészőmotor, nincs lefordított kiterjesztés — ezért azonos módon működik Windows, Linux és macOS rendszereken, beleértve a CI futtatókat és konténereket.
API Usage
Hogyan tudom HTML-t egy dokumentummá feldolgozni?
Használd a HTMLDocument.parse()-t teljes oldalakhoz, vagy a HTMLDocument.parse_fragment()-t részleges jelöléshez. Programozott felépítéshez a Document a csomópontgyár:
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)Hogyan alkalmazom a CSS-t és olvasom a keletkezett stílust?
Parse-oljuk a stíluslap szövegét a CSSStyleSheet.replace_sync() segítségével, csatoljuk a Document.attach_style_sheet()-vel, és olvassuk le a feloldott eredményt a Element.get_computed_style() segítségével:
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"))A kaszkád helyesen kezeli a specifikusságot és az !important-ot?
Igen. A számított értékek a szelektor specifikusságát követik (az ID felülírja az osztályt, amely felülírja a típust), a beágyazott deklarációk felülbírálják a szerzői szabályokat, és a !important szerzői szabályok felülbírálják a nem fontos beágyazott deklarációkat. Az öröklődés szülőtől gyermekhez áramlik az örökölhető tulajdonságok esetén.
Használhatom közvetlenül a tokenizálót és a faépítőt?
Igen — a Tokenizer.tokenize() kibocsátja a szabványos tokenáramot, a TreeBuilder.run() elvégzi a faépítést, és a parse_html() egy hívással becsomagolja az egész folyamatot.
Hogyan dolgozhatok URL-ekkel és karakterkódolásokkal?
A URL.parse() és a URL.can_parse() WHATWG-stílusú URL-kezelést biztosítanak a URLSearchParams segítségével a lekérdezési karakterláncokhoz. Nyers bájtok esetén a detect_encoding() visszaadja a kódolást, egy megbízhatósági szintet és a dekódolt szöveget.
Ismert korlátozások
Vannak-e olyan API-k, amelyek jelen vannak, de nincsenek megvalósítva?
Néhány tag van deklarálva, de jelenleg nem működőképes, többek között CSSRule.type, CSSRule.css_text és HTMLImageElement.decode. A tudásmodellben lévő limitations.md fájl nyomon követi ezeket; kerüld el a rájuk való támaszkodást.
Automatikusan megjeleníti-e a könyvtár az oldalakat, vagy konvertál más formátumokra?
Nem. A jelenlegi kiadás a feldolgozásra, a DOM-manipulációra, a CSS stílus számítására, a layout struktúrákra, az URL-ekre és a kódolásokra összpontosít. Nem tartalmaz formátumkonverziót vagy képek/PDF-ek renderelését.
Automatikusan lefut-e a JavaScript a feldolgozás során?
Nem. A feldolgozás soha nem futtat szkripteket. A szkript kiértékelés explicit és JSContext által opt-in módon történik, a modulbetöltést pedig a ModuleRegistry és a ModuleLoadPolicy szabályozza.