このモジュールでは URL (Uniform Resource Locator) 文字列をその構成要素 (アドレススキーム、ネットワーク上の位置、パスその他) に分解したり、 構成要素を URL に組みなおしたり、``相対 URL (relative URL)'' を指定した ``基底 URL (base URL)'' に基づいて絶対 URL に変換するための標準的な インタフェースを定義しています。
このモジュールは相対 URL のインターネット RFC に対応するように設計 されました (そして RFC の初期ドラフトのバグを発見しました!)。
以下の関数が定義されています:
urlstring[, default_scheme[, allow_fragments]]) |
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 引数がゼロの場合、URL のアドレススキームが
フラグメント指定をサポートしていても指定できなくなります。
この引数の標準の値は 1
です。
tuple) |
urlparse()
が返すような形式のタプルから URL 文字列を構築します。
解析された元の URL が、例えばクエリ内容が空の ? のような冗長な区切り文字
を持っていた場合には、多少違いはあるが等価な URL になるかもしれません。
(RFC のドラフトの時点では、これらは等価でした)。
urlstring[, default_scheme[, allow_fragments]]) |
tuple) |
urlsplit()
が返すような形式のタプル中のエレメントを組み合わせ
て、文字列の完全な URL にします。
バージョン 2.2 で 新たに追加 された仕様です。
base, url[, allow_fragments]) |
以下の例:
urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html')
では、文字列
'http://www.cwi.nl/%7Eguido/FAQ.html'
になります。
allow_fragments 引数は urlparse()
における引数と同じ意味
を持ちます。
url) |
参考: