python(urlparse)模板使用方法總結,pythonurlparse
一、簡介
urlparse模組使用者將url解析為6個組件,並以元組形式返回,返回的6個部分,分別是:scheme(協議)、netloc(網路位置)、path(路徑)、params(路徑段參數)、query(查詢)、fragment(片段)。
二、功能列舉
1、urlparse.urlparse()(將url解析為組件,url必須以http://開頭)
>>> urlparse.urlparse("https://i.cnblogs.com/EditPosts.aspx?opt=1")ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')
返回的元素中也會包含其他屬性,比如(username,password,hostname,port):
>>> urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1").port80
>>> urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1").hostname'i.cnblogs.com'
2、urlparse.urljoin()(將相對的地址組合成一個url,對於輸入沒有限制,開頭必須是http://,否則將不組合前面)
>>> urlparse.urljoin("https://i.cnblogs.com","EditPosts.aspx")'https://i.cnblogs.com/EditPosts.aspx'
3、urlparse.urlsplit() :返回一個5個元素的元組,適用於遵循RFC2396的URL
>>> urlparse.urlsplit("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")SplitResult(scheme='https', netloc='i.cnblogs.com:80', path='/EditPosts.aspx', query='opt=1', fragment='')
4、urlparse.urlunsplit() : 使用urlsplit的格式組合成一個url,傳遞的元素必須是5個,或者直接將分解的元組重新組合
>>> urlparse.urlunsplit(("https","i.cnblogs.com","EditPosts.aspx","a=a","b=b"))'https://i.cnblogs.com/EditPosts.aspx?a=a#b=b'
>>> parse = urlparse.urlsplit("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")>>> urlparse.urlunsplit(parse)'https://i.cnblogs.com:80/EditPosts.aspx?opt=1'
5、urlparse.urlunparse() :使用urlparse的格式組合成一個url,可以直接將urlparse的返回傳遞組合
>>> parse = urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")>>> urlparse.urlunparse(parse)'https://i.cnblogs.com:80/EditPosts.aspx?opt=1'
>>> urlparse.urlunparse(("https","i.cnblogs.com","/EditPosts.aspx","","opt=1",""))'https://i.cnblogs.com/EditPosts.aspx?opt=1'