1. Termékek
  2.   Aspose.HTML
  3.   Aspose.HTML FOSS for Python

Aspose.HTML FOSS Python platformhoz

Parse HTML egy szabványalapú DOM-ba, alkalmazza a CSS-t, és számolja ki a stílusokat a Python alapján — ingyenes, nyílt forráskódú, és tiszta Python.

Open-Source Python könyvtár HTML feldolgozáshoz

Aspose.HTML FOSS for Python egy ingyenes, nyílt forráskódú könyvtár a HTML dokumentumok Python alkalmazásokban történő kezelésére. Telepítsd egyetlen git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git paranccsal, és kezd el a jelölőnyelv elemzését egy dokumentumobjektum-modellbe, elemfák építését és módosítását, CSS stíluslapok csatolását, a számított stílusok feloldását, valamint az URL-ekkel és karakterkódolásokkal való munkát — mindezt tiszta Python környezetben, böngészőfüggőség nélkül.

A könyvtár egy szabványorientált API-t tesz elérhetővé, amely a HTMLDocument, Document, Element és CSSStyleSheet köré épül. Elemezd a jelölőnyelvet a HTMLDocument.parse()-al, hozd létre és köss össze csomópontokat a Document.create_element() és append_child() segítségével, keresd meg az elemeket a get_element_by_id()-val, stílusozd őket a CSSStyleSheet.replace_sync() és az elem-szintű style deklaráció útján, és olvasd vissza az eredményt a Element.get_computed_style()-al. Az alacsonyabb szintű építőelemek — a HTML Tokenizer, a TreeBuilder, WHATWG-stílusú URL és URLSearchParams, valamint a detect_encoding() bájtfolyam-detektor — elérhetők, ha közvetlen irányításra van szükséged.

Aspose.HTML FOSS MIT licenc alatt áll, és tiszta Python-ban van megvalósítva, a Python 3.10 vagy újabb verzióját igényelve. Azonos módon fut Windows, Linux és macOS rendszereken — beleértve a CI futtatókat, Docker konténereket és szerver nélküli környezeteket is. Az vállalati termékcsaládért lásd a Aspose.HTML — Enterprise Product Family oldalt.

HTML Feldolgozás és DOM manipuláció

  • Olvass be teljes oldalakat a HTMLDocument.parse() segítségével, vagy töredékeket a HTMLDocument.parse_fragment() használatával
  • Építsd fel a dokumentumokat programozottan a Document.create_element() és az append_child() segítségével
  • Keress csomópontokat a Document.get_element_by_id() használatával, és olvasd a jelölő attribútumokat az Element.get_attribute()-on keresztül
  • Állíts be attribútumokat a Element.set_attribute() segítségével, és rendelj szöveget a Node.text_content-en keresztül
  • Sorold vissza bármely alfafát jelölőnyelvbe a serialise() függvénnyel

Ki használja a DOM feldolgozást

  • Háttérszolgáltatások, amelyek megtisztítják vagy átírják a felhasználók által beküldött HTML-t a tárolás előtt
  • Tartalmi csővezetékek, amelyek nagy léptékben kinyerik vagy átalakítják az oldalfragmentumokat
  • Tesztcsomagok, amelyek ellenőrzik a generált markup struktúrát a CI-ben

CSS Stíluslapok és kiszámított stílusok

  • Elemezze a stíluslap szövegét a CSSStyleSheet.replace_sync() használatával, és csatolja a Document.attach_style_sheet()-on keresztül
  • Állítson be beágyazott deklarációkat az elem style tulajdonságán keresztül a CSSStyleDeclaration.set_property() segítségével
  • Oldja fel a kaszkádot — specifikusság, beágyazott vs. szerzői szabályok és öröklődés — a Element.get_computed_style() használatával
  • Olvassa vissza a feloldott értékeket a CSSStyleDeclaration.get_property_value()-val

Ki használja a Style Computation-t

  • E-mail és hírlevél eszközök, amelyek a küldés előtt ellenőrzik a tényleges stílusokat
  • HTML szanitizálók, amelyeknek tudniuk kell, hogy egy elem milyen stílusban jelenik meg
  • Fejlesztők, akik a cascád és a specifikusság viselkedését böngészőn kívül hibakeresnek

Tokenizáló és faépítés

  • Használd a HTML tokenizert közvetlenül a Tokenizer.tokenize() vagy a Tokenizer.tokenize_fragment() segítségével
  • Futtass szabványalapú faépítést a TreeBuilder.run() használatával
  • Elemezd a jelölőnyelvet közvetlenül egy fába a parse_html() függvénnyel

Ki használja a Low-Level Parsing-et

  • Olyan linters és elemzők, amelyek a tokenáramokat vizsgálják a kész fák helyett
  • Olyan eszközök, amelyeknek egyedi hiba-kezelésre van szükség a hibás markup helyreállítása során
  • Oktatási projektek, amelyek tanulmányozzák, hogyan működik a szabványalapú HTML elemzés

URL-ek és karakterkódolások

  • URL-ek feldolgozása és érvényesítése a URL.parse() és URL.can_parse() segítségével
  • Lekérdezési karakterláncok olvasása és szerkesztése a URLSearchParams segítségével — append(), get(), has(), delete()
  • Byte-folyam kódolásainak észlelése (BOM és tartalomelemzés) a detect_encoding() használatával
  • Kódoláscímkék normalizálása kanonikus nevekbe a get_canonical_name() segítségével

Ki használja az URL és kódolási eszközöket

  • Olyan crawler-ek és fetcher-ek, amelyeknek megbízhatóan kell feloldaniuk és deduplikálniuk az URL-eket
  • Olyan ingestálási csővezetékek, amelyek örökölt dokumentumokkal dolgoznak vegyes kódolásokkal
  • Olyan szolgáltatások, amelyek szerveroldalon elemzik vagy átírják a lekérdezési paramétereket

Építs egy DOM-ot és oldd fel a CSS kaszkádot

Hozzon létre egy dokumentumot, csatoljon egy stíluslapot, és olvassa ki a számított stílust — az ID szelektor felülírja az osztályszabályt:

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync(".foo { color: red } #bar { color: blue }")
doc.attach_style_sheet(sheet)
style = el.get_computed_style()
print(style.get_property_value("color"))

Az inline stílusok elsőbbséget élveznek

Az inline deklarációk nagyobb specifikussággal bírnak, mint a szerzői stíluslap szabályai:

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("div { color: red }")
doc.attach_style_sheet(sheet)
inline = el.style
inline.set_property("color", "blue")
print(el.get_computed_style().get_property_value("color"))

Karakterkódolás felismerése bájtokból

Észleld egy nyers bájtos adatfolyam kódolását, a BOM-mal együtt, és kapj vissza dekódolt szöveget:

from aspose_html.encoding.detection import detect_encoding
result = detect_encoding(b"\xef\xbb\xbf<p>x</p>")
print(result.encoding)
print(result.confidence)
print(result.text)

Gyakran ismételt kérdések

Milyen licencet használ a Aspose.HTML FOSS for Python?

Az MIT licenc — a kereskedelmi felhasználás, módosítás és újraelosztás mind engedélyezett; az egyetlen követelmény a szerzői jogi nyilatkozat megtartása a lényeges másolatoknál.

Melyik Python verzió támogatott, és hogyan telepíthetem?

Python 3.10 vagy újabb. Telepítsd a git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git segítségével — a megvalósítás tiszta Python natív függőségek nélkül.

Hogyan tudom HTML-t egy dokumentumba beolvasni?

Használja a HTMLDocument.parse()-t teljes oldalakhoz vagy a HTMLDocument.parse_fragment()-t részleges jelölőnyelvhez; a Document a gyár a fák programozott építéséhez.

A CSS kaszkád megfelelően kezeli a specifikusságot és az !important-et?

Igen — a számított értékek a szelektor specifikusságát követik, a beágyazott deklarációk felülbírálják a szerzői szabályokat, a !important szerzői szabályok felülbírálják a nem fontos beágyazott deklarációkat, és az öröklődés szülőtől gyermekre folyik.

A könyvtár megjeleníti az oldalakat, vagy más formátumokra konvertál?

Nem. A jelen kiadás a feldolgozásra, a DOM manipulációra, a CSS stílus számításra, az elrendezési szerkezetekre, az URL-ekre és a kódolásokra összpontosít — nincs formátumkonverzió vagy kép/PDF renderelés.

A JavaScript automatikusan végrehajtódik a feldolgozás során?

Nem. A feldolgozás soha nem futtat szkripteket; az értékelés kifejezett és opt-in a JSContext segítségével, a modulbetöltést a ModuleRegistry és a ModuleLoadPolicy szabályozza.

  

Támogatás és tanulási források

 Magyar