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