Aspose.HTML FOSS for Python, Python uygulamalarında HTML belgeleriyle çalışmak için ücretsiz, açık kaynaklı bir kütüphanedir. Tek bir git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git komutuyla kurun ve işaretlemeyi bir belge nesne modeline ayrıştırmaya, öğe ağaçları oluşturup değiştirmeye, CSS stil sayfalarını eklemeye, hesaplanmış stilleri çözmeye ve URL’ler ve karakter kodlamalarıyla çalışmaya başlayın — tümü saf Python içinde, tarayıcı bağımlılığı olmadan.
Kütüphane, HTMLDocument, Document, Element ve CSSStyleSheet etrafında yapılandırılmış standart odaklı bir API sunar. İşaretlemeyi HTMLDocument.parse() ile ayrıştırın, düğümleri Document.create_element() ve append_child() ile oluşturup bağlayın, öğeleri get_element_by_id() ile bulun, onları CSSStyleSheet.replace_sync() ve öğe düzeyindeki style bildirimi aracılığıyla stillendirin ve sonucu Element.get_computed_style() ile geri okuyun. Daha düşük seviyeli yapı taşları — HTML Tokenizer, TreeBuilder, WHATWG tarzı URL ve URLSearchParams, ve detect_encoding() bayt akışı algılayıcısı — doğrudan kontrol gerektiğinde mevcuttur.
Aspose.HTML FOSS, MIT lisanslıdır ve saf Python ile uygulanmıştır, Python 3.10 veya üzerini gerektirir. Windows, Linux ve macOS’ta aynı şekilde çalışır — CI koşucuları, Docker konteynerleri ve sunucusuz ortamlar dahil. Kurumsal ürün ailesi için, Aspose.HTML — Enterprise Product Family adresine bakın.
HTMLDocument.parse() ile ya da parçaları HTMLDocument.parse_fragment() ile ayrıştırınDocument.create_element() ve append_child() ile oluşturunDocument.get_element_by_id() ile bulun ve işaretleme özniteliklerini Element.get_attribute() aracılığıyla okuyunElement.set_attribute() ile ayarlayın ve metni Node.text_content aracılığıyla atayınserialise() işleviyle işaretleme biçimine geri serileştirinCSSStyleSheet.replace_sync() ile stil sayfası metnini ayrıştırın ve Document.attach_style_sheet() ile ekleyinstyle özelliği aracılığıyla satır içi bildirimleri CSSStyleDeclaration.set_property() ile ayarlayınElement.get_computed_style() ileCSSStyleDeclaration.get_property_value() ile geri okuyunTokenizer.tokenize() veya Tokenizer.tokenize_fragment() ile çalıştırınTreeBuilder.run() ile standartlara dayalı ağaç oluşturmayı çalıştırınparse_html() işleviyle işaretlemeyi doğrudan bir ağaç olarak ayrıştırınURL.parse() ve URL.can_parse() kullanarak ayrıştırın ve doğrulayınURLSearchParams ile okuyun ve düzenleyin — append(), get(), has(), delete()detect_encoding() ile bayt akışı kodlamalarını (BOM ve içerik algılama) tespit edinget_canonical_name() ile kodlama etiketlerini kanonik adlara normalleştirinBir belge oluşturun, bir stil sayfası ekleyin ve hesaplanan stili okuyun — ID seçicisi sınıf kuralının üzerine çıkar:
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"))
Satır içi bildirimler, yazar stil sayfası kurallarından daha yüksek özgüllüğe sahiptir:
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"))
Bir ham bayt akışının kodlamasını, BOM dahil, algılayın ve çözülen metni geri alın:
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)
MIT Lisansı — ticari kullanım, değiştirme ve yeniden dağıtım tamamen izinlidir; tek şart, önemli kopyalarda telif hakkı bildirimini tutmaktır.
Python 3.10 veya daha yenisi. git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git ile kurun — uygulama saf Python olup yerel bağımlılıkları yoktur.
Tam sayfalar için HTMLDocument.parse() kullanın veya kısmi işaretleme için HTMLDocument.parse_fragment() kullanın; Document programlı olarak ağaçlar oluşturmak için bir fabrikadır.
Evet — hesaplanan değerler seçici özgüllüğüne uyar, satır içi bildirimler yazar kurallarından üstündür, !important yazar kuralları önemsiz satır içi bildirimlerden üstündür ve kalıtım ebeveynden çocuğa akış sağlar.
Hayır. Mevcut sürüm, ayrıştırma, DOM manipülasyonu, CSS stil hesaplaması, düzen yapıları, URL’ler ve kodlamalar üzerine odaklanıyor — format dönüşümü veya resim/PDF render’ı yok.
Hayır. Ayrıştırma asla betikleri çalıştırmaz; değerlendirme açık ve isteğe bağlı olarak JSContext üzerinden yapılır, modül yükleme ise ModuleRegistry ve ModuleLoadPolicy tarafından kontrol edilir.