よくある質問

よくある質問

ライセンスとオープンソース

Aspose.HTML の Python 用 FOSS が使用しているライセンスは何ですか?

このライブラリはMITライセンスの下でリリースされています。全文は次のものとして同梱されています LICENSE ファイルは GitHub リポジトリ.

商用製品で使用できますか?

はい。MIT ライセンスは商用利用、改変、再配布、サブライセンスを許可しています。唯一の条件は、実質的なコピーに対して著作権表示とライセンス文を保持することです。

インストールと要件

ライブラリをどのようにインストールし、どの Python バージョンがサポートされていますか?

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.gitでインストールします。ライブラリはPython 3.10以降が必要です;現在のリリースは0.1.0です。

ネイティブの依存関係はありますか?

いいえ。実装は純粋なPythonです — ブラウザエンジンもコンパイル済み拡張もありません — そのため、Windows、Linux、macOSすべてで、CIランナーやコンテナを含めて同一に動作します。

API Usage

どうすればHTMLをドキュメントにパースできますか?

完全なページにはHTMLDocument.parse()を、部分的なマークアップにはHTMLDocument.parse_fragment()を使用します。プログラム的に構築する場合は、Documentがノードファクトリです:

from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)

どうやってCSSを適用し、結果のスタイルを取得しますか?

スタイルシートテキストをCSSStyleSheet.replace_sync()でパースし、Document.attach_style_sheet()で添付し、Element.get_computed_style()で解決された結果を読み取ります:

from aspose_html.cssom import CSSStyleSheet
sheet = CSSStyleSheet()
sheet.replace_sync("#bar { color: blue }")
doc.attach_style_sheet(sheet)
print(el.get_computed_style().get_property_value("color"))

カスケードは特異性と !important を正しく処理しますか?

はい。計算された値はセレクタの特異性に従います(ID がクラスを、クラスがタイプを上回ります)、インライン宣言は作者ルールより優先され、!important 作者ルールは非 !important のインライン宣言より優先されます。継承は継承可能なプロパティについて親から子へ流れます。

トークナイザーとツリービルダーを直接使用できますか?

はい — Tokenizer.tokenize() は標準のトークンストリームを出力し、TreeBuilder.run() はツリー構築を行い、parse_html() は全体のパイプラインを1回の呼び出しでラップします。

URL と文字エンコーディングはどのように扱えばよいですか?

URL.parse() と URL.can_parse() はクエリ文字列用に URLSearchParams を備えた WHATWG スタイルの URL 処理を提供します。生バイトの場合、detect_encoding() はエンコーディング、信頼度レベル、そしてデコードされたテキストを返します。

既知の制限事項

実装はされていないが API が存在するものはありますか?

少数のメンバーが宣言されていますが、現在は機能していません。CSSRule.type、CSSRule.css_text、HTMLImageElement.decode が含まれます。ナレッジモデル内の limitations.md ファイルがこれらを追跡していますので、依存しないでください。

このライブラリはページをレンダリングしますか、あるいは他の形式に変換しますか?

いいえ。現在のリリースは、パース、DOM 操作、CSS スタイル計算、レイアウト構造、URL、エンコーディングに重点を置いています。フォーマット変換や画像/PDF のレンダリングは含まれていません。

パース中に JavaScript は自動的に実行されますか?

いいえ。パースはスクリプトを実行しません。スクリプトの評価は明示的で、JSContext を通じてオプトインされます。モジュールのロードは ModuleRegistry と ModuleLoadPolicy によって制御されます。

参照

 日本語