1. Ürünler
  2.   Aspose.HTML
  3.   Aspose.HTML FOSS for Python

Python için Aspose.HTML FOSS

Parse HTML öğesini standartlara dayalı bir DOM’a dönüştürün, CSS uygulayın ve Python üzerinden stilleri hesaplayın — ücretsiz, açık kaynaklı ve saf Python.

Açık Kaynak Python Kütüphanesi HTML İşleme için

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.

HTML Ayrıştırma ve DOM Manipülasyonu

  • Tam sayfaları HTMLDocument.parse() ile ya da parçaları HTMLDocument.parse_fragment() ile ayrıştırın
  • Belgeleri programatik olarak Document.create_element() ve append_child() ile oluşturun
  • Düğümleri Document.get_element_by_id() ile bulun ve işaretleme özniteliklerini Element.get_attribute() aracılığıyla okuyun
  • Öznitelikleri Element.set_attribute() ile ayarlayın ve metni Node.text_content aracılığıyla atayın
  • Herhangi bir alt ağacı serialise() işleviyle işaretleme biçimine geri serileştirin

DOM İşleme'yi Kim Kullanıyor

  • Depolama öncesinde kullanıcı tarafından gönderilen HTML’ı temizleyen veya yeniden yazan arka uç hizmetleri
  • Ölçekli olarak sayfa parçacıklarını çıkaran veya yeniden yapılandıran içerik boru hatları
  • CI’de oluşturulan işaretleme yapısına ilişkin iddialarda bulunan test paketleri

CSS Stil Sayfaları ve Hesaplanan Stiller

  • CSSStyleSheet.replace_sync() ile stil sayfası metnini ayrıştırın ve Document.attach_style_sheet() ile ekleyin
  • Elemanın style özelliği aracılığıyla satır içi bildirimleri CSSStyleDeclaration.set_property() ile ayarlayın
  • Kaskadı çözün — özgüllük, satır içi-yazar kuralları ve kalıtım — Element.get_computed_style() ile
  • Çözülmüş değerleri CSSStyleDeclaration.get_property_value() ile geri okuyun

Stil Hesaplamasını Kim Kullanıyor

  • E-posta ve bülten araçları, gönderilmeden önce etkili stilleri doğrular
  • HTML temizleyicileri, bir öğenin gerçekte hangi stil ile render edildiğini bilmesi gereken
  • Tarayıcı dışında kaskad ve özgüllük davranışını hata ayıklayan geliştiriciler

Tokenleyici ve Ağaç Oluşturma

  • HTML tokenleştiricisini doğrudan Tokenizer.tokenize() veya Tokenizer.tokenize_fragment() ile çalıştırın
  • TreeBuilder.run() ile standartlara dayalı ağaç oluşturmayı çalıştırın
  • parse_html() işleviyle işaretlemeyi doğrudan bir ağaç olarak ayrıştırın

Düşük Seviyeli Ayrıştırmayı Kim Kullanır

  • Tamamlanmış ağaçlar yerine token akışlarını inceleyen lint’ler ve analizörler
  • Bozuk işaretleme kurtarma sırasında özel hata işleme gerektiren araçlar
  • Standart tabanlı HTML ayrıştırmanın nasıl çalıştığını inceleyen eğitim projeleri

URL’ler ve Karakter Kodlamaları

  • URL’leri URL.parse() ve URL.can_parse() kullanarak ayrıştırın ve doğrulayın
  • Sorgu dizelerini URLSearchParams ile okuyun ve düzenleyin — append(), get(), has(), delete()
  • detect_encoding() ile bayt akışı kodlamalarını (BOM ve içerik algılama) tespit edin
  • get_canonical_name() ile kodlama etiketlerini kanonik adlara normalleştirin

URL ve Kodlama Araçlarını Kim Kullanır

  • URL’leri güvenilir bir şekilde çözümleyen ve yinelenenlerini ortadan kaldıran tarayıcılar ve getirenler
  • Karışık kodlamalara sahip eski belgeleri işleyen içeri aktarma hatları
  • Sunucu tarafında sorgu parametrelerini ayrıştıran veya yeniden yazan hizmetler

Bir DOM Oluşturun ve CSS Kaskadını Çözün

Bir 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 Stiller Öncelik Alır

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"))

Bayt’lerden Karakter Kodlamasını Algıla

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)

Sıkça Sorulan Sorular

Aspose.HTML FOSS for Python hangi lisansı kullanıyor?

MIT Lisansı — ticari kullanım, değiştirme ve yeniden dağıtım tamamen izinlidir; tek şart, önemli kopyalarda telif hakkı bildirimini tutmaktır.

Hangi Python sürümleri destekleniyor ve nasıl kurarım?

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.

HTML öğesini bir belgeye nasıl ayrıştırırım?

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.

CSS cascade, özgüllüğü ve !important’ı doğru şekilde ele alıyor mu?

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.

Kütüphane sayfaları render ediyor mu yoksa başka formatlara dönüştürüyor mu?

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.

JavaScript ayrıştırma sırasında otomatik olarak çalıştırılır mı?

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.

  

Destek ve Öğrenme Kaynakları

 Türkçe