دستکاری فایل‌های HTML به‌صورت برنامه‌نویسی برای ساخت ابزارها و ویرایشگرهای محتوای وب پویا ضروری است. Aspose.HTML for Python via .NET پیاده‌سازی DOM مبتنی بر استانداردها را فراهم می‌کند که به شما امکان می‌دهد اسناد را از ابتدا بسازید، نشانه‌گذاری موجود را بررسی کنید و آن را بازنویسی کنید — همه اینها بدون مرورگر و بدون عبارات منظم. این راهنما کار را به سه بخش متمرکز تقسیم می‌کند: create, read, و edit، که هر کدام مثال قابل اجرا خود را دارند. در پایان، یک جریان کاری قابل استفاده مجدد خواهید داشت که می‌توانید آن را در هر خط لوله محتوای مبتنی بر پایتون بکار ببرید.

قبل از شروع: پیش‌نیازها و نصب

برای دنبال کردن این آموزش به این موارد نیاز دارید:

  • Python 3.8 یا بالاتر بر روی ماشین توسعه شما نصب شده باشد.
  • یک سیستم‌عامل ۶۴‑بیتی (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 در پایتون

ایجاد یک سند HTML در پایتون

یک 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 زنده تجزیه می‌کند. از آنجا می‌توانید همان‌طور که در مرورگر انجام می‌دهید، آن را بر اساس شناسه، نام تگ یا با یک انتخابگر 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 در پایتون با استفاده از Aspose.HTML for Python via .NET به سادگی انجام می‌شود. هر عملیات به یک اصطلاح آشنا در DOM نگاشته می‌شود: ساخت گره‌ها با create_element()، جستجوی آن‌ها با get_element_by_id() و query_selector_all()، تغییر آن‌ها از طریق text_content، inner_html و set_attribute()، و سپس ذخیره با save(). به‌خاطر داشته باشید که برای استفاده در محیط تولید، باید یک لایسنس مناسب دریافت کنید؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید یک لایسنس موقت را از صفحه لایسنس موقت دریافت کنید. با داشتن SDK، اکنون می‌توانید ابزارهای قدرتمند دستکاری HTML بسازید که به‌راحتی در هر برنامه مبتنی بر پایتون جای می‌گیرند.

سوالات متداول

  • چگونه یک فایل 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 به جامعه دسترسی پیدا کرد.

بیشتر بخوانید