欢迎访问宙启技术站
智能推送

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。