Sıkça Sorulan Sorular
Lisanslama ve Açık Kaynak
Aspose.HTML FOSS for Python hangi lisansı kullanıyor?
Kütüphane MIT Lisansı altında dağıtılmaktadır. Tam metin, olarak LICENSE dosya GitHub deposu.
Ticari ürünlerde kullanabilir miyim?
Evet. MIT Lisansı, ticari kullanım, değiştirme, yeniden dağıtma ve alt lisanslamayı izin verir. Tek gereklilik, telif hakkı bildirimini ve lisans metnini önemli kopyalarla birlikte tutmaktır.
Kurulum ve Gereksinimler
Kütüphaneyi nasıl kurarım ve hangi Python sürümleri desteklenir?
Kurulum git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git ile yapılır. Kütüphane Python 3.10 veya daha yeni bir sürüm gerektirir; mevcut sürüm 0.1.0.
Yerel bağımlılıklar var mı?
Hayır. Uygulama saf Python tabanlıdır — tarayıcı motoru yok, derlenmiş uzantı yok — bu yüzden Windows, Linux ve macOS’ta, CI çalıştırıcıları ve konteynerler dahil aynı şekilde davranır.
API Usage
HTML’ı bir belgeye nasıl ayrıştırırım?
Tam sayfalar için HTMLDocument.parse(), kısmi işaretleme için HTMLDocument.parse_fragment() kullanın. Programatik yapı için Document düğüm fabrikasıdır:
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)CSS’ı nasıl uygular ve ortaya çıkan stili nasıl okurum?
CSSStyleSheet.replace_sync() ile stil sayfası metnini ayrıştırın, Document.attach_style_sheet() ile ekleyin ve Element.get_computed_style() ile çözülen sonucu okuyun:
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"))Kademeli stil özgüllük ve !important’ı doğru şekilde ele alıyor mu?
Evet. Hesaplanan değerler seçici özgüllüğüne (ID sınıfı tipten üstün, sınıf tipten üstün) göre izlenir, satır içi bildirimler yazar kurallarının önünde gelir ve !important yazar kuralları önemsiz satır içi bildirimlerin önünde gelir. Kalıtım, miras alınabilir özellikler için ebeveyn’den çocuğa akar.
Tokenlayıcıyı ve ağaç oluşturucuyu doğrudan kullanabilir miyim?
Evet — Tokenizer.tokenize() standart token akışını üretir, TreeBuilder.run() ağaç oluşturmayı gerçekleştirir ve parse_html() tüm işlem hattını tek bir çağrıda kapsar.
URL’lerle ve karakter kodlamalarıyla nasıl çalışırım?
URL.parse() ve URL.can_parse(), sorgu dizeleri için URLSearchParams ile WHATWG tarzı URL işleme sağlar. Ham baytlar için detect_encoding() kodlamayı, bir güven düzeyini ve çözülen metni döndürür.
Bilinen Sınırlamalar
Herhangi bir API mevcut ama uygulanmamış mı?
Az sayıda üye tanımlanmış ancak şu anda işlevsel değil, CSSRule.type, CSSRule.css_text ve HTMLImageElement.decode dahil. Bilgi modelindeki limitations.md dosyası bunları izler; onlara güvenmekten kaçının.
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ır. Format dönüşümü veya görüntü/PDF render’ı içermez.
Ayrıştırma sırasında JavaScript otomatik olarak çalıştırılıyor mu?
Hayır. Ayrıştırma asla betikleri çalıştırmaz. Betik değerlendirmesi, JSContext aracılığıyla açık ve isteğe bağlıdır; modül yüklemesi ise ModuleRegistry ve ModuleLoadPolicy tarafından kontrol edilir.