Résoudre un chemin d’URL relatif vers son chemin absolu

Y a-t-il une bibliothèque en python qui fonctionne comme ça?

>>> 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' 

Oui, il y a urlparse.urljoin ou urllib.parse.urljoin pour 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' 

pour copier-coller:

 try: from urlparse import urljoin # Python2 except ImportError: from urllib.parse import urljoin # Python3