python中有一个像这样工作的库吗?
>>> resolvePath("http://www.asite.com/folder/currentpage.html", "anotherpage.html")
'http://www.asite.com/folder/anotherpage.html'
>>> resolvePath("http://www.asite.com/folder/currentpage.html", "folder2/anotherpage.html")
'http://www.asite.com/folder/folder2/anotherpage.html'
>>> resolvePath("http://www.asite.com/folder/currentpage.html", "/folder3/anotherpage.html")
'http://www.asite.com/folder3/anotherpage.html'
>>> resolvePath("http://www.asite.com/folder/currentpage.html", "../finalpage.html")
'http://www.asite.com/finalpage.html'
Run Code Online (Sandbox Code Playgroud)
Jam*_*ady 101
是的,有urlparse.urljoin
,或urllib.parse.urljoin
为Python 3.
>>> try: from urlparse import urljoin # Python2
... except ImportError: from urllib.parse import urljoin # Python3
...
>>> urljoin("http://www.asite.com/folder/currentpage.html", "anotherpage.html")
'http://www.asite.com/folder/anotherpage.html'
>>> urljoin("http://www.asite.com/folder/currentpage.html", "folder2/anotherpage.html")
'http://www.asite.com/folder/folder2/anotherpage.html'
>>> urljoin("http://www.asite.com/folder/currentpage.html", "/folder3/anotherpage.html")
'http://www.asite.com/folder3/anotherpage.html'
>>> urljoin("http://www.asite.com/folder/currentpage.html", "../finalpage.html")
'http://www.asite.com/finalpage.html'
Run Code Online (Sandbox Code Playgroud)
用于复制和粘贴:
try:
from urlparse import urljoin # Python2
except ImportError:
from urllib.parse import urljoin # Python3
Run Code Online (Sandbox Code Playgroud)
您还可以urljoin
通过 Python 的requests
库调用该函数。
这段代码:
import requests
requests.compat.urljoin('http://example.com/foo.html', 'bar.html')
Run Code Online (Sandbox Code Playgroud)
将返回一个值 http://example.com/bar.html