HTML öğesini Python içinde nasıl ayrıştırılır?

HTML öğesini Python içinde nasıl ayrıştırılır?

Aspose.HTML FOSS for Python, standart ağaç oluşturma algoritmasıyla işaretlemeyi ayrıştırır: tam sayfalar için HTMLDocument.parse(), parçacıklar için HTMLDocument.parse_fragment() ve sonuçta tiplenmiş öğe sınıfları (HTMLElement ve onun alt sınıfları). Bu kılavuz, ayrıştırma giriş noktalarını kapsar ve pip kullanarak kurulumla, DOM üzerinden çıktıyı doğrular.

Adım Adım Kılavuz

Adım 1: Paketi Kurun

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .

Adım 2: Gerekli Sınıfları İçe Aktarın

from aspose_html.html_document import HTMLDocument
from aspose_html.dom import Document

Adım 3: Doğru Ayrıştırma Giriş Noktasını Seçin

HTMLDocument.parse() tam belge ağacı oluşturmayı standart hata kurtarma ile çalıştırır; HTMLDocument.parse_fragment() kısmi işaretleme için fragment algoritmasını uygular; HTMLDocument.load() bir kaynaktan okur. Ayrıştırılan öğeler tiplenmiş olarak gelir — bir <a> bir HTMLAnchorElement, bir <input> bir HTMLInputElement.


Adım 4: Çıktıyı DOM üzerinden Doğrula

Ayrıştırılan sonuç normal bir DOM ağacıdır — aynı arama ve nitelik API’leri geçerlidir. Eşdeğer yapıyı programlı olarak oluşturmak paylaşılan yüzeyi gösterir:

doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "content")
doc.append_child(el)
print(doc.get_element_by_id("content").has_child_nodes())

Adım 5: Stillerle ya da Yapıyla Devam Et

Stil sayfalarını ekleyin ve hesaplanmış stilleri okuyun, ya da yerelleştirilmiş düzenlemeler için Element ekleme yardımcılarını (insert_adjacent_html(), insert_adjacent_text()) kullanın — ayrıştırma çıktısı diğer tüm katmanları besler.

Yaygın Sorunlar ve Çözümleri

Kısmi işaretleme html ve body sarmalayıcıları kazanır. parse() tam belge kurallarını uygular; kullan parse_fragment() parçacıklar için.

Bozuk işaretleme hatasız olarak ayrıştırılır. Bu, standart davranıştır — ağaç oluşturma, hatayı yükseltmek yerine her hata durumu için kurtarmayı tanımlar.

Tablo içeriği tablosunun dışında görünür. Yanlış konumlandırılmış tablo içeriğinin foster ebeveynliği algoritmanın bir parçasıdır; kaynak iç içe geçmeyi düzeltin.

Sık Sorulan Sorular

Ayrıştırılan öğeler tiplenmiş mi?

Evet — ayrıştırma HTMLElement hiyerarşisini üretir: form denetimleri (HTMLFormElement, HTMLInputElement), gömülü içerik (HTMLImageElement, HTMLCanvasElement), gezinme (HTMLAnchorElement) ve daha fazlası.

Ayrıştırma hattını daha düşük bir seviyeden kontrol edebilir miyim?

Evet — Tokenizer ve TreeBuilder public’tır, parse_html() ise tek çağrılı sarmalayıcıdır.

Ayrıştırma betikleri çalıştırıyor mu?

Hayır. Betik değerlendirmesi açık ve JSContext aracılığıyla ayrı yapılır.

Ayrıca Bakınız

 Türkçe