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.html atd.) 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() a create_text_node(), připojte je pomocí append_child() a zavolejte document.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() nebo query_selector_all(). Hodnoty jsou dostupné přes text_content, inner_html a get_attribute().

  • Jak mohu upravit HTML dokument a uložit změny? Načtěte dokument, přiřaďte jej k text_content nebo inner_html, změňte atributy pomocí set_attribute(), přidejte uzly pomocí append_child() a odstraňte je pomocí remove_child(). Poté zavolejte document.save(), případně předáte instanci HTMLSaveOptions.

  • 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.

Číst dál