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.htmlitp.), 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 pomocycreate_element()icreate_text_node(), dołącz je za pomocąappend_child()i wywołajdocument.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życiuget_element_by_id(),get_elements_by_tag_name()lubquery_selector_all(). Wartości są dostępne poprzeztext_content,inner_htmliget_attribute().Jak edytować dokument HTML i zapisać zmiany? Załaduj dokument, przypisz do
text_contentlubinner_html, zmień atrybuty przy użyciuset_attribute(), dodaj węzły za pomocąappend_child(), a usuń je przy pomocyremove_child(). Następnie wywołajdocument.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.
