该方法实现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为空