Python中的urlunparse()函数和urljoin()函数的应用场景
发布时间:2024-01-16 08:50:28
urlunparse()函数用于将一个URL的各个部分拼接成完整的URL,urljoin()函数用于将一个相对URL拼接到一个基本URL上,生成完整的URL。
urlunparse()函数的语法如下:
urllib.parse.urlunparse(parts)
其中,parts是一个长度为6的tuple,包含了URL的六个部分:scheme(协议),netloc(网络位置),path(路径),params(参数),query(查询字符串)和fragment(锚点)。
下面是一个urlunparse()函数的例子:
from urllib.parse import urlunparse
url_parts = ('http', 'www.example.com', '/path', '', 'param=value', '')
url = urlunparse(url_parts)
print(url) # 输出:http://www.example.com/path?param=value
urljoin()函数的语法如下:
urllib.parse.urljoin(base, url)
其中,base是基础URL,url是相对URL。
下面是一个urljoin()函数的例子:
from urllib.parse import urljoin base_url = 'http://www.example.com/' relative_url = 'path' url = urljoin(base_url, relative_url) print(url) # 输出:http://www.example.com/path
urljoin()函数会根据基础URL和相对URL的关系,自动拼接成一个完整的URL。如果相对URL以斜杠开头,则会被视为绝对路径,直接拼接到基础URL的域名后面;如果相对URL不以斜杠开头,则会被视为相对路径,拼接到基础URL的路径后面。
urljoin()函数还可以处理包含各种协议的URL,例如:
from urllib.parse import urljoin base_url = 'https://www.example.com/path' relative_url = 'http://www.subdomain.example.com/other_path' url = urljoin(base_url, relative_url) print(url) # 输出:http://www.subdomain.example.com/other_path
以上是urlunparse()函数和urljoin()函数的应用场景和使用例子,它们在处理URL时非常有用,可以方便地拼接和转换URL。
