基础
基础
from urllib.parse import urlencode, urlparse, unquote, parse_qs
url = "%s?%s" % ('http://www.ramwin.com', urlencode({'pram1': 'foo', 'param2': 'bar'}))
unquote_url = unquote(url)
urlparse(unquote_url).query # param1=foo¶m2=bar
parse_qs("a=b") # {"a": ["b"]}
编码
# 把字典变成url
urlencode({"kw": "查找=kw"})
>>> 'kw=%E6%9F%A5%E6%89%BE%3Dkw'
url = 'https://duishang.net?%s' % 'kw=%E6%9F%A5%E6%89%BE%3Dkw'
# urlencode
quote('http://duishang.net')
>>> 'http%3A//duishang.net%3Few%3Dew'
urllib.parse
[ ] urlunsplit
urllib.parse.urljoin(base, url, allow_fragments=True)
allow_fragments为True代表url里面可以有#anchor, 如果为False,代表base的path里面不能有fragments, 会舍弃掉后再与url相连
>>> parse.urljoin('https://localhost/1/2', '3')
'https://localhost/1/3'
>>> parse.urljoin('https://localhost/1/2/', '3')
'https://localhost/1/2/3/'
>>> parse.urljoin('https://localhost/1/2/', '/3')
'https://localhost/3'
[ ] urldefrag