Маніпулювання файлами HTML програмно є необхідним для створення інструментів та редакторів динамічного веб‑контенту. Aspose.HTML for Python via .NET забезпечує реалізацію DOM, засновану на стандартах, що дозволяє створювати документи з нуля, досліджувати існуючу розмітку та переписувати її — без браузера і без регулярних виразів. Цей посібник розбиває роботу на три сфокусовані розділи: create, read, і edit, кожен зі своїм виконуваним прикладом. Після завершення у вас буде багаторазовий робочий процес, який можна інтегрувати в будь‑який конвеєр контенту на Python.

Перед початком: вимоги та встановлення

Щоб слідувати цьому підручнику, вам потрібно:

  • Python 3.8 або новіший, встановлений на вашій машині розробки.
  • 64‑бітна ОС (Windows, Linux або macOS) — пакет постачається з нативними .NET бінарними файлами.
  • Дійсна ліцензія Aspose.HTML for Python via .NET (доступні тимчасові ліцензії).

Встановіть SDK за допомогою pip:

pip install aspose-html-net

Ви також можете завантажити останні бінарники безпосередньо зі сторінки завантаження. Після встановлення імпортуйте потрібні типи:

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

Якщо у вас є файл ліцензії, застосуйте його один раз під час запуску програми, щоб вихід був вільним від обмежень оцінки:

from aspose.html import License

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

Коли SDK готовий, давайте розглянемо три основні операції.

Побудова крок за кроком: створення, читання та редагування HTML у Python

Створити HTML-документ у Python

Порожній HTMLDocument вже містить скелет html, head та body, тому ви можете одразу починати додавати вузли. Елементи створюються за допомогою create_element(), текстові вузли — за допомогою create_text_node(), і обидва приєднуються до дерева за допомогою 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")

Оскільки кожен вузол створюється через документ, отримана розмітка завжди є правильно сформованою — без ручного балансування тегів і без конкатенації рядків.

Прочитати існуючий HTML‑документ за допомогою Python

Передайте шлях до файлу в конструктор HTMLDocument, і Aspose.HTML розпарсить файл у живе дерево DOM. Після цього ви можете виконувати запити точно так, як у браузері: за id, за назвою тегу або за допомогою 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)

Ви також можете розбирати розмітку, яка вже знаходиться в пам’яті, передаючи вміст разом з базовим URI, що зручно, коли HTML надходить у відповідь від API:

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

Редагування існуючого HTML-документа в Python

Редагування — це просто мутація DOM: присвойте text_content або inner_html, змініть атрибути за допомогою set_attribute(), вставте вузли за допомогою append_child(), і видаліть вузли за допомогою remove_child(). Збережіть результат, коли закінчите.

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

Ці три операції чітко складаються: створюйте один раз, читайте, коли потрібно перевірити, і редагуйте щоразу, коли вміст змінюється.

Примітка: Цей приклад коду демонструє основну функціональність. Перед використанням у вашому проєкті переконайтеся, що оновили шляхи до файлів (created.html, edited.html тощо), щоб вони відповідали фактичним розташуванням ваших файлів, перевірте, що всі необхідні залежності встановлені правильно, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь-якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.

Висновок

Створення, читання та редагування HTML‑файлів у Python стає простим завдяки Aspose.HTML for Python via .NET. Кожна операція відповідає знайомому ідіому DOM: створюйте вузли за допомогою create_element(), запитуйте їх за допомогою get_element_by_id() та query_selector_all(), змінюйте їх через text_content, inner_html та set_attribute(), а потім зберігайте за допомогою save(). Не забудьте отримати відповідну ліцензію для використання у продакшн‑середовищі; деталі ціноутворення доступні на сторінці продукту, а тимчасову ліцензію можна отримати на temporary license page. Маючи SDK, ви тепер можете створювати надійні інструменти маніпуляції HTML, які безшовно інтегруються в будь‑який Python‑застосунок.

FAQs

  • Як створити HTML‑файл у Python за допомогою Aspose.HTML? Створіть порожній HTMLDocument, побудуйте вузли за допомогою create_element() та create_text_node(), приєднайте їх за допомогою append_child() і викличте document.save("created.html"). Приклад створення вище показує повну послідовність.

  • Як я можу прочитати вміст існуючого HTML‑файлу? Передайте шлях до файлу конструктору HTMLDocument, а потім виконайте запит до DOM за допомогою get_element_by_id(), get_elements_by_tag_name() або query_selector_all(). Значення доступні через text_content, inner_html та get_attribute().

  • Як я можу редагувати HTML‑документ і зберегти зміни? Завантажте документ, призначте значення text_content або inner_html, змініть атрибути за допомогою set_attribute(), додайте вузли за допомогою append_child(), і видаліть їх за допомогою remove_child(). Потім викличте document.save(), за бажанням передавши екземпляр HTMLSaveOptions.

  • Де я можу знайти більше прикладів, документації та підтримки? Офіційна документація надає докладні посібники, довідник API перераховує всі класи та члени, а спільноту можна знайти через форум Aspose.HTML.

Read More