该方法实现url的识别和分段,这里先用一个实例来看一下
from urllib.parse import urlparse
result=urlparse('http://www.baidu.com/index.html;user?id=5#comment')
print(type(result),result)
这里我们用urlparse()方法进行了URL的解析,首先,输出解析结果类型,再将结果也输出
如下:
<class 'urllib.parse.ParseResult'>
ParseResult(scheme='http', netloc='www.baidu.com', path='/index.html', params='user', query='id=5', fragment='comment')
观察实例,'http://www.baidu.com/index.html;user?id=5#comment'
可以发现,urlparse()方法将其拆分为6个部分,分别是
scheme='http',代表协议
netloc='www.baidu.com',代表域名
path='/index.html', 代表path,即访问路径
params='user', 代表参数
query='id=5', 代表查询条件,一般用作get类型的URL
fragment='comment'代表锚点,用于直接定位页面内部的下拉位置,
所以一个标准的链接应该是
scheme://netloc/path;params?query#fragment
接下来讲述其API用法
urllib.parse.urlparse(urlstring,scheme='',allow_fragments=True)
urlstring:必填项,即待解析的url
scheme:它的默认协议(比如http,https等)
allow_fragments:即是否忽略fragment,如果它被设为False,fragment部分会被忽略,它会被解析为path、params、query的一部分,而fragment为空