Manipulowanie plikami HTML programowo jest niezbędne do budowania dynamicznych narzędzi i edytorów treści internetowych. Aspose.HTML for Python via .NET zapewnia implementację DOM opartą na standardach, która pozwala tworzyć dokumenty od podstaw, przeglądać istniejące znaczniki i przepisywać je — wszystko bez przeglądarki i bez wyrażeń regularnych. Ten przewodnik dzieli pracę na trzy skoncentrowane sekcje: create, read, i edit, każda z własnym uruchamialnym przykładem. Po zakończeniu będziesz mieć wielokrotnego użytku przepływ pracy, który możesz wstawić do dowolnego potoku treści opartego na Pythonie.

Przed rozpoczęciem: Wymagania wstępne i instalacja

Aby skorzystać z tego samouczka, potrzebujesz:

  • Python 3.8 lub nowszy zainstalowany na maszynie deweloperskiej.
  • 64‑bitowy system operacyjny (Windows, Linux lub macOS) — pakiet zawiera natywne pliki binarne .NET.
  • Ważna licencja Aspose.HTML for Python via .NET (dostępne licencje tymczasowe).

Zainstaluj SDK za pomocą pip:

pip install aspose-html-net

Możesz również pobrać najnowsze pliki binarne bezpośrednio ze strony pobierania. Po instalacji zaimportuj potrzebne typy:

from aspose.html import HTMLDocument
from aspose.html.saving import HTMLSaveOptions

Jeśli masz plik licencji, zastosuj go raz przy uruchamianiu aplikacji, aby wyjście było wolne od ograniczeń wersji próbnej:

from aspose.html import License

license = License()
license.set_license("Aspose.HTML.Python.lic")

Gdy SDK jest gotowe, przejdźmy przez trzy podstawowe operacje.

Budowanie krok po kroku: Tworzenie, odczyt i edycja HTML w Pythonie

Utwórz dokument HTML w języku Python

Pusty HTMLDocument już zawiera szkielet html, head i body, więc możesz od razu zaczynać dodawać węzły. Elementy są tworzone przy pomocy create_element(), węzły tekstowe przy pomocy create_text_node(), a oba są dołączane do drzewa za 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")

Ponieważ każdy węzeł jest tworzony za pośrednictwem dokumentu, wynikowy znacznik jest zawsze poprawny — nie ma ręcznego równoważenia tagów ani konkatenacji łańcuchów.

Odczyt istniejącego dokumentu HTML przy użyciu Pythona

Przekaż ścieżkę do pliku do konstruktora HTMLDocument, a Aspose.HTML parsuje plik do żywego drzewa DOM. Stamtąd możesz go zapytać dokładnie tak, jak w przeglądarce: po identyfikatorze, po nazwie znacznika lub przy użyciu selektora CSS.

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)

Możesz także parsować znacznik, który już znajduje się w pamięci, przekazując zawartość wraz z bazowym URI, co jest przydatne, gdy HTML pochodzi z odpowiedzi API:

content = "<html><body><p>Loaded from a string.</p></body></html>"
document = HTMLDocument(content, ".")

Edytuj istniejący dokument HTML w Pythonie

Edycja to po prostu mutacja DOM: przypisz do text_content lub inner_html, zmień atrybuty za pomocą set_attribute(), wstaw węzły przy użyciu append_child(), a usuń węzły przy pomocy remove_child(). Zapisz wynik, gdy skończysz.

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")

Te trzy operacje składają się czysto: utwórz raz, odczytuj, kiedy potrzebujesz sprawdzić, i edytuj tak często, jak zmienia się zawartość.

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś ścieżki do plików (created.html, edited.html itp.), aby odpowiadały rzeczywistym lokalizacjom, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Podsumowanie

Tworzenie, odczytywanie i edytowanie plików HTML w Pythonie staje się proste dzięki Aspose.HTML for Python via .NET. Każda operacja odpowiada znanemu idiomowi DOM: buduj węzły przy użyciu create_element(), wyszukuj je za pomocą get_element_by_id() i query_selector_all(), modyfikuj je poprzez text_content, inner_html i set_attribute(), a następnie zapisz przy pomocy save(). Pamiętaj, aby uzyskać odpowiednią licencję do użytku produkcyjnego; szczegóły cenowe są dostępne na stronie produktu, a tymczasową licencję można uzyskać ze strony tymczasowej licencji. Mając SDK w ręku, możesz teraz budować solidne narzędzia do manipulacji HTML, które płynnie wpasują się w każdą aplikację opartą na Pythonie.

Najczęściej zadawane pytania

  • Jak utworzyć plik HTML w Pythonie przy użyciu Aspose.HTML? Utwórz pusty HTMLDocument, buduj węzły przy pomocy create_element() i create_text_node(), dołącz je za pomocą append_child() i wywołaj document.save("created.html"). Powyższy przykład tworzenia pokazuje pełną sekwencję.

  • Jak odczytać zawartość istniejącego pliku HTML? Przekaż ścieżkę do pliku do konstruktora HTMLDocument, a następnie zapytaj DOM przy użyciu get_element_by_id(), get_elements_by_tag_name() lub query_selector_all(). Wartości są dostępne poprzez text_content, inner_html i get_attribute().

  • Jak edytować dokument HTML i zapisać zmiany? Załaduj dokument, przypisz do text_content lub inner_html, zmień atrybuty przy użyciu set_attribute(), dodaj węzły za pomocą append_child(), a usuń je przy pomocy remove_child(). Następnie wywołaj document.save(), opcjonalnie przekazując instancję HTMLSaveOptions.

  • Gdzie mogę znaleźć więcej przykładów, dokumentacji i wsparcia?
    Oficjalna dokumentacja zawiera szczegółowe przewodniki, odniesienie API wymienia wszystkie klasy i ich członków, a społeczność można osiągnąć poprzez forum Aspose.HTML.

Czytaj więcej