は、私は2つのURLを持っている:絶対URLと相対URLを結合するにはどうすればよいですか?
url1 = "http://127.0.0.1/test1/test2/test3/test5.xml"
url2 = "../../test4/test6.xml"
は、どのように私はURL2のための絶対URLを得ることができますか?
は、私は2つのURLを持っている:絶対URLと相対URLを結合するにはどうすればよいですか?
url1 = "http://127.0.0.1/test1/test2/test3/test5.xml"
url2 = "../../test4/test6.xml"
は、どのように私はURL2のための絶対URLを得ることができますか?
あなたはurlparse.urljoin使用する必要があります:あなたはuse it as followのPython 3(urlparse is renamed to urllib.parse)で
>>> import urlparse
>>> urlparse.urljoin(url1, url2)
'http://127.0.0.1/test1/test4/test6.xml'
をできます
>>> import urllib.parse
>>> urllib.parse.urljoin(url1, url2)
'http://127.0.0.1/test1/test4/test6.xml'
3またはモードパラメータで 'urljoin'をどのように使うのか、あるいはどのライブラリを推奨しますか? –
@mesuuttループを作成し、各パートを以前に結合されたURLと結合しようとします。 –
@CédricJulien:単純なループは機能しません。先行する '/'を持つパスはリセットされ、返り値スキーム+ 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)
の
可能複製(http://stackoverflow.com/questions/1793261/how-to-join-components-of-a [あなたはPythonでURLを構築しているパスのコンポーネントを結合する方法] -path-you-you-are-a-pythonを構築中) –
関連:[URLパスコンポーネントをインテリジェントに結合する](http://codereview.stackexchange.com/questions/13027/joining-url-path-コンポーネントをインテリジェントに) – kojiro