プログラムで HTML ファイルを操作することは、動的なウェブコンテンツツールやエディタを構築する上で不可欠です。 Aspose.HTML for Python via .NET は、標準準拠の DOM 実装を提供し、ブラウザや正規表現を使用せずに、ゼロからドキュメントを作成し、既存のマークアップを検査し、書き換えることができます。このガイドでは、作業を createreadedit の3つのセクションに分け、それぞれに実行可能なサンプルを示します。最後まで読むと、任意の Python ベースのコンテンツ パイプラインに組み込める再利用可能なワークフローが手に入ります。

開始前の準備: 前提条件とインストール

このチュートリアルを実行するには、次のものが必要です:

  • 開発マシンに Python 3.8 以降がインストールされていること。
  • 64 ビット OS(Windows、Linux、または macOS)— パッケージはネイティブ .NET バイナリを提供します。
  • 有効な Aspose.HTML for Python via .NET ライセンス(一時ライセンスが利用可能)。

pipでSDKをインストールする:

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が準備できたので、3つの主要な操作を順に実行しましょう。

ステップバイステップで構築: PythonでHTMLの読み取りと編集を作成する

PythonでHTMLドキュメントを作成する

空の HTMLDocument にはすでに htmlheadbody のスケルトンが含まれているため、すぐにノードの追加を開始できます。要素は 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")

すべてのノードはドキュメントを通じて作成されるため、生成されるマークアップは常に整形式です — 手動でタグのバランスを取る必要も、文字列連結もありません。

Python を使用して既存の HTML ドキュメントを読み取る

ファイルパスを 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, ".")

Pythonで既存のHTMLドキュメントを編集する

編集は単なる 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")

これら3つの操作はシンプルに構成されています:一度作成し、検査が必要なときはいつでも読み取り、コンテンツが変更されるたびに編集します。

注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(created.htmledited.html など)を実際のファイル位置に合わせて更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。

結論

PythonでHTMLファイルを作成、読み取り、編集することは、Aspose.HTML for Python via .NET を使用すれば簡単です。各操作は馴染みのある DOM イディオムに対応しています:create_element() でノードを作成し、get_element_by_id()query_selector_all() で検索し、text_contentinner_htmlset_attribute() で変更し、最後に save() で保存します。製品版で使用する際は正しいライセンスを取得することを忘れないでください。価格情報は製品ページに掲載されており、一時ライセンスページ から一時ライセンスを取得できます。SDK が手元にあれば、あらゆる Python ベースのアプリケーションにシームレスに組み込める堅牢な HTML 操作ツールを構築できます。

FAQs

  • PythonでAspose.HTMLを使用してHTMLファイルを作成するにはどうすればよいですか? 空の HTMLDocument をインスタンス化し、create_element()create_text_node() でノードを作成し、append_child() でそれらを結合し、document.save("created.html") を呼び出します。上記の作成例に全手順が示されています。

  • 既存のHTMLファイルの内容を読み取るにはどうすればよいですか? ファイルパスを HTMLDocument コンストラクタに渡し、get_element_by_id()get_elements_by_tag_name()、または query_selector_all() で DOM をクエリします。値は text_contentinner_htmlget_attribute() を通じて取得できます。

  • HTML ドキュメントを編集して変更を保存するにはどうすればよいですか? ドキュメントをロードし、text_content または inner_html に割り当て、set_attribute() で属性を変更し、append_child() でノードを追加し、remove_child() で削除します。その後、document.save() を呼び出し、必要に応じて HTMLSaveOptions インスタンスを渡します。

  • さらに多くのサンプル、ドキュメント、サポートはどこで見つけられますか? 公式ドキュメント は詳細なガイドを提供し、API リファレンス はすべてのクラスとメンバーを一覧表示し、コミュニティは Aspose.HTML フォーラム で利用できます。

さらに読む