我有两个网址:如何加入绝对和相对的网址?
url1 = "http://127.0.0.1/test1/test2/test3/test5.xml"
url2 = "../../test4/test6.xml"
我如何获得URL2绝对URL?
我有两个网址:如何加入绝对和相对的网址?
url1 = "http://127.0.0.1/test1/test2/test3/test5.xml"
url2 = "../../test4/test6.xml"
我如何获得URL2绝对URL?
你应该使用urlparse.urljoin:
>>> import urlparse
>>> urlparse.urljoin(url1, url2)
'http://127.0.0.1/test1/test4/test6.xml'
使用Python 3(urlparse is renamed to urllib.parse)你可以use it as follow:
>>> import urllib.parse
>>> urllib.parse.urljoin(url1, url2)
'http://127.0.0.1/test1/test4/test6.xml'
我们如何在3或模式参数中使用'urljoin'或者您为此推荐哪个库? –
@mesuutt尝试进行循环,并将每个部分与之前加入的URL连接。 –
@CédricJulien:一个简单的循环将不起作用,因为任何具有前导'/'的路径将“重置”并返回scheme + netloc + lasturl:'urlparse.urljoin('http://www.a.com/b/ c/d','/ e')=>'http:// www.a.com/e'' – MestreLion
>>> from urlparse import urljoin
>>> url1 = "http://www.youtube.com/user/khanacademy"
>>> url2 = "/user/khanacademy"
>>> urljoin(url1, url2)
'http://www.youtube.com/user/khanacademy'
简单。
es = ['http://127.0.0.1', 'test1', 'test4', 'test6.xml']
base = ''
map(lambda e: urlparse.urljoin(base, e), es)
的可能重复[如何加入,当你在Python构造URL路径的组件(http://stackoverflow.com/questions/1793261/how-to-join-components-of-a -path-when-you-construct-a-url-in-python) –
相关:[智能加入url路径组件](http://codereview.stackexchange.com/questions/13027/joining-url-path-组件 - 智能) – kojiro