11.8 Standard Module urlparse

      

このモジュールは、URL文字列をコンポーネント (アドレススキーム、ネットワーク上の場所、パスその他) に分解したり、その逆、および``相対URL''を``ベース URL''から与えられる 絶対URLに変換するための標準インターフェースを定義しています。

このモジュールは、ユニフォーム・リソース・ロケータ関係の RFC (初期のドラフトにはバグが発見されています!) に適合するように設計されました。 詳細はRFC 1808および関連するRFCを参照してください。 また、基本的な URLの文法については、RFC 1738を 見てください。

以下の関数が定義されています:

urlparse (urlstring[, default_scheme[, allow_fragments]])
URLを6つのコンポーネントに分解し、 6つのタプル: (アドレススキーム、ネットワーク上の場所、パス、パラメータ、問い合わせ、 フラグメント識別子) を返します。 これは、URLの一般的な構造: scheme://netloc/path;parameters?query#fragment に一致します。 それぞれのタプルのアイテムは文字列で、空の場合もあります。 コンポーネントは(ネットワーク上の場所 のように)それ以上小さくは分けられません。 そして、%エスケープは展開されません。 上に示されたデリミタは、 pathコンポーネント中のスラッシュ記号(これは削除されません)を除いては タプルのアイテムの一部ではありません。

例:

urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
はこうなります。

('http', 'www.cwi.nl:80', '/%7Eguido/Python.html', '', '', '')
default_schemeが指定されると、 URL文字列中にない場合のみ デフォルトのアドレススキームとして 使われます。 この引数のデフォルトは空です。

allow_fragmentsが0のとき、 URLアドレススキームがサポートしていても フラグメント識別子は許されません。 デフォルトは 1です。

urlunparse (tuple)
urlparse()が返すような形式のタプルを URL文字列にします。 これは元のURLが冗長なデリミタを(例えば、空の問い合わせに対して"?"-- これはドラフト上は等価であることになっています) 使っていたような場合には微妙に違ってくるかもしれませんが、正しい URLです。

urljoin (base, url[, allow_fragments])
``ベース URL''(base)と``相対 URL''(url)を 結合して完全な(``絶対'')URLを作ります。 実際にはこれは、ベースURL、特にアドレススキームやネットワーク上の場所、 パス(の一部)などの、 相対URLの中の失われたコンポーネントを補足するために使います。

例:

urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html')
はこうなります。

'http://www.cwi.nl/%7Eguido/FAQ.html'
allow_fragmentsは、urlparse()の場合と同じ意味を持ちます。

guido@python.org