Маніпулювання файлами 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.
