Aspose.HTML FOSS for Python adalah perpustakaan gratis dan sumber terbuka untuk bekerja dengan dokumen HTML dalam aplikasi Python. Instalasi dengan satu perintah git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git dan mulailah mengurai markup menjadi model objek dokumen, membangun dan memodifikasi pohon elemen, melampirkan stylesheet CSS, menyelesaikan gaya terhitung, serta bekerja dengan URL dan pengkodean karakter — semuanya dalam Python murni tanpa ketergantungan peramban.
Perpustakaan ini menyediakan API berorientasi standar yang dibangun di sekitar HTMLDocument, Document, Element, dan CSSStyleSheet. Parse markup dengan HTMLDocument.parse(), buat dan hubungkan node dengan Document.create_element() dan append_child(), temukan elemen dengan get_element_by_id(), beri gaya melalui CSSStyleSheet.replace_sync() dan deklarasi style tingkat elemen, serta baca kembali hasilnya dengan Element.get_computed_style(). Blok bangunan tingkat lebih rendah — HTML Tokenizer, TreeBuilder, URL dan URLSearchParams gaya WHATWG, serta detektor aliran byte detect_encoding() — tersedia ketika Anda memerlukan kontrol langsung.
Aspose.HTML FOSS berlisensi MIT dan diimplementasikan dalam Python murni, memerlukan Python 3.10 atau lebih baru. Ia berjalan identik di Windows, Linux, dan macOS — termasuk runner CI, kontainer Docker, dan lingkungan serverless. Untuk keluarga produk enterprise, lihat Aspose.HTML — Enterprise Product Family.
HTMLDocument.parse() atau fragmen dengan HTMLDocument.parse_fragment()Document.create_element() dan append_child()Document.get_element_by_id() dan membaca atribut markup melalui Element.get_attribute()Element.set_attribute() dan menugaskan teks melalui Node.text_contentserialise()CSSStyleSheet.replace_sync() dan lampirkan melalui Document.attach_style_sheet()style dengan CSSStyleDeclaration.set_property()Element.get_computed_style()CSSStyleDeclaration.get_property_value()Tokenizer.tokenize() atau Tokenizer.tokenize_fragment()TreeBuilder.run()parse_html()URL.parse() dan URL.can_parse()URLSearchParams — append(), get(), has(), delete()detect_encoding()get_canonical_name()Buat sebuah dokumen, lampirkan stylesheet, dan baca gaya terhitung — selector ID mengalahkan aturan kelas:
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"))
Deklarasi inline memiliki spesifisitas yang lebih tinggi daripada aturan stylesheet penulis:
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"))
Deteksi encoding aliran byte mentah, termasuk BOM, dan dapatkan teks terdekripsi kembali:
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)
Lisensi MIT — penggunaan komersial, modifikasi, dan redistribusi semuanya diizinkan; satu-satunya persyaratan adalah menjaga pemberitahuan hak cipta pada salinan yang substansial.
Python 3.10 atau lebih baru. Instal dengan git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — implementasinya murni Python tanpa dependensi native.
Gunakan HTMLDocument.parse() untuk halaman lengkap atau HTMLDocument.parse_fragment() untuk markup parsial; Document adalah pabrik untuk membangun pohon secara programatis.
Ya — nilai yang dihitung mengikuti spesifisitas selector, deklarasi inline mengungguli aturan penulis, !important aturan penulis mengungguli deklarasi inline yang tidak penting, dan pewarisan mengalir dari induk ke anak.
Tidak. Rilis saat ini berfokus pada parsing, manipulasi DOM, perhitungan gaya CSS, struktur tata letak, URL, dan pengkodean — tidak ada konversi format atau rendering gambar/PDF.
Tidak. Parsing tidak pernah menjalankan skrip; evaluasi bersifat eksplisit dan harus disetujui melalui JSContext dengan pemuatan modul yang dikendalikan oleh ModuleRegistry dan ModuleLoadPolicy.