<blockquote>
<p>urllib.parse.urljoin(base, <strong>url</strong>)</p>
<p>If url is an absolute URL (that is, starting with //, http://, https://, ...), the url’s host name and/or scheme will be present in the
result. For example:</p>
</blockquote>
<pre><code>>>> urljoin('https://www.google.com', '//www.microsoft.com')
'https://www.microsoft.com'
>>>
</code></pre>
<p>否则,urllib.parse.<strong>urljoin</strong>(base,url)将</p>
<blockquote>
<p>Construct a full (“absolute”) URL by combining a “base URL” (base) with another URL (url). Informally, this uses components of the base
URL, in particular the addressing scheme, the network location and
(part of) the path, to provide missing components in the relative URL.</p>
</blockquote>
<pre><code>>>> urlparse('http://a/b/c/d/e')
ParseResult(scheme='http', netloc='a', path='/b/c/d/e', params='', query='', fragment='')
>>> urljoin('http://a/b/c/d/e', 'f')
>>>'http://a/b/c/d/f'
>>> urlparse('http://a/b/c/d/e/')
ParseResult(scheme='http', netloc='a', path='/b/c/d/e/', params='', query='', fragment='')
>>> urljoin('http://a/b/c/d/e/', 'f')
'http://a/b/c/d/e/f'
>>>
</code></pre>
<p>它获取第一个参数(base)的路径,去掉最后一个/之后的部分,并与第二个参数(url)连接。</p>
<p>如果url以/开头,则它将scheme和base的netloc与url连接起来</p>
<pre><code>>>>urljoin('http://a/b/c/d/e', '/f')
'http://a/f'
</code></pre>