Python Urlparse 函数声明
urlparse.urlparse(urlstring[, scheme[, allow_fragments]])
将URL解析为六个组件,返回一个6元组。这对应于URL的一般结构:scheme:// netloc / path; parameters?query#fragment 。每个元组项都是一个字符串,可能是空的。组件不会在较小的部分分解(例如,网络位置是单个字符串),并且%转义不会展开。如上所示的分隔符不是结果的一部分,除了路径组件中的前导斜杠,如果存在则保留。
用法示例一:
>>>
>>> from urlparse import urlparse
>>> o = urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
>>> o
ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',
params='', query='', fragment='')
>>> o.scheme
'http'
>>> o.port
80
>>> o.geturl()
'http://www.cwi.nl:80/%7Eguido/Python.html'
遵循RFC 1808中的语法规范,urlparse 仅在通过’//’正确引入netloc 时识别netloc 。否则,该输入被推定为相对URL,从而以路径组件开头。
用法示例二
>>>
>>> from urlparse import urlparse
>>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html')
ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',
params='', query='', fragment='')
>>> urlparse('www.cwi.nl/%7Eguido/Python.html')
ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html',
params='', query='', fragment='')
>>> urlparse('help/Python.html')
ParseResult(scheme='', netloc='', path='help/Python.html', params='',
query='', fragment='')
如果指定了scheme 参数,则给出默认寻址方案,仅在URL未指定的方案时使用。此参数的默认值为空字符串。
如果allow_fragments 参数为false ,则片段标识符不会被识别并作为前一个组件的一部分进行解析,即使URL的寻址方案通常不支持它们。此参数的默认值为True。
返回值实际上是元组的子类的一个实例。此类具有以下附加的只读方便属性:
Attributes |
Index |
Value |
Value if not present |
scheme |
0 |
URL scheme specifier |
scheme parameter |
netloc |
1 |
Network location part |
empty string |
path |
2 |
Hierarchical path |
empty string |
params |
3 |
Parameters for last path element |
empty string |
query |
4 |
Query component |
empty string |
fragment |
5 |
Fragment identifier |
empty string |
username |
|
User name |
None |
password |
|
Password |
None |
hostname |
|
Host name (lower case) |
None |
port |
|
Port number as integer, if present |
None |
有关结果对象的更多信息,请参阅urlparse() 和urlsplit() 的结果部分。
补充说明
|