11.10 Standard Module htmllib

   

このモジュールでは、HyperText Mark-up Language (HTML)形式のテキストファイルを 解析するための土台として働くクラスを定義しています。 このクラスは入出力に対しては直接関係ありません -- それはメソッドを通じて文字列形式の入力によって与えられ、 ``formatter'オブジェクトのメソッドによって出力されます。 HTMLParserクラスは他のクラスの機能追加のためのベースクラスとして 使われるようにデザインされており、 拡張やオーバーライドのほとんどを許可します。 このクラスは、sgmllib モジュールで 定義されるSGMLParserクラスを拡張した派生クラスです。 HTMLParserの実装はRFC 1866に述べられている HTML 2.0をサポートしています。 フォーマッタオブジェクトとformatter  モジュールの2つの実装については、フォーマッタインターフェースの方を 参照してください。     

以下は、sgmllib.SGMLParserにより定義されたインターフェースの要約です。

このモジュールでは一つのクラスが定義されています。

HTMLParser (formatter)
これは基本的なHTMLパーサクラスです。 これはすべてのHTML 2.0の実体名をサポートします(RFC 1866)。 また、すべてのHTML2.0および多くのHTML3.0/3.2の要素のハンドラが定義されています。

タグのメソッドに加えて、 HTMLParserクラスは、いくつかの追加メソッド、 またタグのメソッドの中で使うためのインスタンス変数 を提供します。

formatter
これはパーサと関連するフォーマッタインスタンスです。

nofill
この真偽フラグは、スペースが縮められているかどうかを表し、 真のとき縮められておらず、そうでないときは偽です。 通常これが真になるのは、<PRE>要素で囲まれた ``preformatted''テキストの場合だけです。 デフォルトは偽です。 これはhandle_data()save_end()操作の場合に有効です。

anchor_bgn (href, name, type)
このメソッドは、アンカータグの開始時に呼び出されます。 引数は<A>タグの属性名と同じです。 デフォルトの実装ではドキュメント中の、(href属性で定義された) ハイパーリンクのリストを保持します。 ハイパーリンクのリストは、anchorlist属性のデータとして使用可能です。

anchor_end ()
このメソッドはアンカータグの終了時に呼び出されます。 デフォルトでは anchor_bgn()で作られたハイパーリンクに インデックスを使用して脚注を追加します。

handle_image (source, alt[, ismap[, align[, width[, height]]]])
このメソッドはイメージを取り扱うために呼び出されます。 デフォルトでは altの値をhandle_data()に渡すだけです。

save_bgn ()
バッファのデータをフォーマッタオブジェクトに渡す代わりに、保存します。 保存されたデータはsave_end()で取り出します。 save_bgn() / save_end()のペアはネストすることはできません。

save_end ()
データのバッファへの保存を終了し、前にsave_bgn()が呼び出されてからの データをすべて返します。 nofillフラグが偽なら、複数の連続するスペースは一つにまとめられます。 save_bgn()なしにこのメソッドが呼び出されると、 TypeError例外が発生します。

guido@python.org