解析链接
基础知识:
://前面的就是scheme,代表协议
第一个/符号前面便是netloc,域名
后面是path,访问路径
分号;后面是params,代表参数
问号?后面是查询条件query,一般用作GET类型的URL
井号#后面是锚点,用于直接定位页面内部的下拉位置
一个标准的链接格式:scheme://netloc/path;params?query#fragment
urlparse()
该方法可以实现URL的识别和分段
from urllib.parse import urlparse
result=urlparse("http://www.baidu.com/index.html;user?id=5#comment") #解析链接
print(type(result),result,sep="\n")
返回结果是一个ParseResult类型的对象,它包含六个部分scheme、netloc、path、params、query、fragment
它的API用法是urllib.parse.urlparse(urlstring,scheme="",allow_fragments=True)
urlstring待解析的URL
scheme协议信息
allow_fragments即是否忽略fragment,如果为false,fragment部分就会被忽略,它会被解析为path、parameters或者query的一部分,而fragment为空
urlsplit()
不再单独解析params的一部分,只返回5个结果,params会被合并到path中
from urllib.parse import urlsplit
result=urlsplit("http://www.baidu.com/index.html;user?id=5#comment") #解析链接
print(type(result),r