Cara Bekerja dengan DOM di Python

Cara Bekerja dengan DOM di Python

Aspose.HTML FOSS untuk model Python HTML sebagai DOM berbasis standar: Document membuat node, Element mengelola atribut, dan Node menyediakan operasi pohon. Panduan ini membangun pohon kecil dan membaca kembali strukturnya, menggunakan pip untuk instalasi.

Panduan Langkah demi Langkah

Langkah 1: Instal Paket

Instal paket:

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

Kemudian konfirmasi metadata paket:

pip show aspose-html-foss

Langkah 2: Impor Kelas yang Diperlukan

from aspose_html.dom import Document

Langkah 3: Buat Dokumen dan Elemen

Document adalah pabrik node; create_element() mengembalikan elemen baru yang Anda lampirkan dengan append_child():

doc = Document()
el = doc.create_element("div")
doc.append_child(el)

Langkah 4: Atur Atribut

set_attribute() menulis atribut markup; kelas dan id mengarahkan pencocokan CSS selanjutnya:

el.set_attribute("class", "foo")
el.set_attribute("id", "bar")

Langkah 5: Baca Kembali Struktur

get_element_by_id() mengambil elemen, get_attribute() mengembalikan atributnya, dan has_child_nodes() mengonfirmasi struktur:

found = doc.get_element_by_id("bar")
print(found.get_attribute("class"))
print(doc.has_child_nodes())

Masalah Umum dan Solusinya

Pencarian berdasarkan id tidak mengembalikan apa pun. Elemen id atribut harus diatur sebelum get_element_by_id() dipanggil, dan elemen harus terpasang pada pohon dokumen.

Pembacaan atribut mengembalikan nilai yang tidak terduga. get_attribute() mengembalikan apa yang terakhir diatur dengan set_attribute(); periksa kesalahan ketik dalam nama atribut — mereka adalah string biasa.

Node yang dibuat dari dokumen lain berperilaku tidak semestinya. Node bersifat scoped pada dokumen. Buat mereka melalui cara yang sama Document, atau transfer mereka dengan import_node()/adopt_node().

Pertanyaan yang Sering Diajukan

Jenis node apa yang dapat dibuat oleh Document?

Elemen, node teks, komentar, dan fragmen dokumen — melalui create_element(), create_text_node(), create_comment(), dan create_document_fragment().

Bagaimana cara memindahkan atau menghapus node yang ada?

Gunakan operasi Node: insert_before(), remove_child(), replace_child(), dan clone_node().

Bisakah saya mengurai markup yang ada alih-alih membangun pohon secara manual?

Ya — HTMLDocument.parse() untuk halaman dan HTMLDocument.parse_fragment() untuk cuplikan menghasilkan jenis pohon yang sama.

Lihat Juga

 Bahasa Indonesia