Manipulace s HTML soubory programově je nezbytná pro tvorbu dynamických nástrojů a editorů webového obsahu. Aspose.HTML for Python via .NET poskytuje standardně založenou implementaci DOM, která vám umožní vytvářet dokumenty od nuly, prohlížet existující značkování a přepisovat jej — vše bez prohlížeče a bez regulárních výrazů. Tento průvodce rozděluje práci do tří zaměřených sekcí: create, read a edit, každá s vlastním spustitelným příkladem. Na konci budete mít znovupoužitelný pracovní postup, který můžete vložit do jakéhokoli pipeline založeného na Pythonu.
Než začnete: Požadavky a instalace
K absolvování tohoto tutoriálu potřebujete:
- Python 3.8 nebo novější nainstalovaný na vašem vývojovém počítači.
- 64‑bitový OS (Windows, Linux nebo macOS) — balíček obsahuje nativní .NET binární soubory.
- Platná licence Aspose.HTML for Python via .NET (dočasné licence jsou k dispozici).
Nainstalujte SDK pomocí pip:
pip install aspose-html-net
Můžete také stáhnout nejnovější binární soubory přímo ze stránky ke stažení. Po instalaci importujte typy, které potřebujete:
from aspose.html import HTMLDocument
from aspose.html.saving import HTMLSaveOptions
Pokud máte soubor licence, použijte jej jednou při spuštění aplikace, aby výstup byl bez omezení zkušební verze.
from aspose.html import License
license = License()
license.set_license("Aspose.HTML.Python.lic")
S připraveným SDK projděme tři základní operace.
Vytvoření krok po kroku: čtení a úprava HTML v Pythonu
Vytvořte HTML dokument v Pythonu
Prázdný HTMLDocument již obsahuje kostru html, head a body, takže můžete okamžitě začít přidávat uzly. Prvky jsou vytvářeny pomocí create_element(), textové uzly pomocí create_text_node() a oba jsou připojeny ke stromu pomocí append_child().
from aspose.html import HTMLDocument
# An empty document already has <html>, <head>, and <body>
document = HTMLDocument()
document.title = "Sample Document"
# <h1 id="mainHeader">Welcome to Aspose.HTML</h1>
header = document.create_element("h1")
header.set_attribute("id", "mainHeader")
header.append_child(document.create_text_node("Welcome to Aspose.HTML"))
document.body.append_child(header)
# <p>This document was generated programmatically.</p>
paragraph = document.create_element("p")
paragraph.text_content = "This document was generated programmatically."
document.body.append_child(paragraph)
document.save("created.html")
Protože každý uzel je vytvořen prostřednictvím dokumentu, výsledný markup je vždy dobře formovaný — žádné ruční vyvažování značek a žádná řetězcová konkatenace.
Načtení existujícího HTML dokumentu pomocí Pythonu
Předáte cestu k souboru do konstruktoru HTMLDocument a Aspose.HTML soubor parsuje do živého stromu DOM. Odtud jej dotazujete přesně tak, jako v prohlížeči: podle id, podle názvu značky nebo pomocí CSS selektoru.
from aspose.html import HTMLDocument
document = HTMLDocument("created.html")
print("Title:", document.title)
# Look up a single element by its id
header = document.get_element_by_id("mainHeader")
if header is not None:
print("Header:", header.text_content)
# Iterate over every paragraph in the document
paragraphs = document.get_elements_by_tag_name("p")
for index in range(paragraphs.length):
print(f"Paragraph {index}:", paragraphs[index].text_content)
# CSS selectors work too
for link in document.query_selector_all("a[href]"):
print("Link:", link.get_attribute("href"))
# Serialize the whole tree back to markup when you need the raw HTML
print(document.document_element.outer_html)
Můžete také parsovat značkování, které je již v paměti, tím, že předáte obsah plus základní URI, což je užitečné, když HTML přichází z odpovědi API:
content = "<html><body><p>Loaded from a string.</p></body></html>"
document = HTMLDocument(content, ".")
Upravit existující HTML dokument v Pythonu
Editace je jen mutace DOM: přiřaďte k text_content nebo inner_html, změňte atributy pomocí set_attribute(), vložte uzly pomocí append_child() a odstraňte uzly pomocí remove_child(). Uložte výsledek, až budete hotovi.
from aspose.html import HTMLDocument
document = HTMLDocument("created.html")
# 1. Update the document title
document.title = "Edited Document Title"
# 2. Replace the header text
header = document.get_element_by_id("mainHeader")
if header is not None:
header.text_content = "Edited Header via Aspose.HTML"
# 3. Insert a highlighted notice block
notice = document.create_element("div")
notice.set_attribute("class", "highlight")
notice.inner_html = "<strong>Important notice:</strong> This div was inserted at runtime."
document.body.append_child(notice)
# 4. Remove the first paragraph
paragraphs = document.get_elements_by_tag_name("p")
if paragraphs.length > 0:
obsolete = paragraphs[0]
obsolete.parent_node.remove_child(obsolete)
document.save("edited.html")
Tyto tři operace se čistě skládají: vytvořit jednou, číst kdykoli potřebujete prověřit a upravovat tak často, jak se obsah mění.
Poznámka: Tento ukázkový kód demonstruje základní funkčnost. Před jeho použitím ve vašem projektu se ujistěte, že aktualizujete cesty k souborům (
created.html,edited.htmlatd.) tak, aby odpovídaly skutečným umístěním souborů, ověřte, že jsou všechny požadované závislosti správně nainstalovány, a důkladně otestujte ve vašem vývojovém prostředí. Pokud narazíte na jakékoli problémy, obraťte se na oficiální dokumentaci nebo kontaktujte tým podpory pro pomoc.
Závěr
Vytváření, čtení a úprava HTML souborů v Pythonu se stává jednoduchou s Aspose.HTML for Python via .NET. Každá operace odpovídá známému idiomu DOM: vytvářejte uzly pomocí create_element(), dotazujte je pomocí get_element_by_id() a query_selector_all(), měňte je pomocí text_content, inner_html a set_attribute(), a poté je uložte pomocí save(). Nezapomeňte získat řádnou licenci pro produkční použití; podrobnosti o cenách jsou k dispozici na stránce produktu a dočasnou licenci lze získat na stránce dočasné licence. S SDK v ruce můžete nyní vytvářet robustní nástroje pro manipulaci s HTML, které se bez problémů začlení do jakékoli aplikace založené na Pythonu.
FAQs
Jak vytvořím HTML soubor v Pythonu s Aspose.HTML? Vytvořte prázdný
HTMLDocument, vytvořte uzly pomocícreate_element()acreate_text_node(), připojte je pomocíappend_child()a zavolejtedocument.save("created.html"). Výše uvedený příklad vytvoření ukazuje celý postup.Jak mohu načíst obsah existujícího souboru HTML? Předávejte cestu k souboru konstruktoru
HTMLDocument, poté dotazujte DOM pomocíget_element_by_id(),get_elements_by_tag_name()neboquery_selector_all(). Hodnoty jsou dostupné přestext_content,inner_htmlaget_attribute().Jak mohu upravit HTML dokument a uložit změny? Načtěte dokument, přiřaďte jej k
text_contentneboinner_html, změňte atributy pomocíset_attribute(), přidejte uzly pomocíappend_child()a odstraňte je pomocíremove_child(). Poté zavolejtedocument.save(), případně předáte instanciHTMLSaveOptions.Kde mohu najít více příkladů, dokumentaci a podporu? Oficiální dokumentace poskytuje podrobné návody, referenční příručka API uvádí všechny třídy a členy a komunitu můžete kontaktovat prostřednictvím fóra Aspose.HTML.
