Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert relative URL to fully qualified URL using Python

I'm looking for a way to fully qualify a URL using Python. I have my current page URL, such as:

http://www.foo.com/Stuff/Mike/Doc.html

and I have my href, such as:

href="../Bob/Doc.html"

What I need to build is:

http://www.foo.com/Stuff/Bob/Doc.html

Does Python have any libraries that can parse paths like this? I looked around the docs for urllib and urllib2, but couldn't find anything like that. Thanks!

like image 825
Mike Christensen Avatar asked Sep 19 '11 00:09

Mike Christensen


2 Answers

Use the urlparse library.

>>> import urlparse
>>> urlparse.urljoin("http://www.foo.com/Stuff/Mike/Doc.html","../Bob/Doc.html")
'http://www.foo.com/Stuff/Bob/Doc.html'
like image 68
cheeken Avatar answered Nov 17 '22 06:11

cheeken


For additional:

If you are using python 3, The library name has changed:

>>> from urllib.parse import urljoin
>>> urlparse.urljoin("http://www.foo.com/Stuff/Mike/Doc.html","../Bob/Doc.html")
'http://www.foo.com/Stuff/Bob/Doc.html'
like image 3
Alfred Huang Avatar answered Nov 17 '22 07:11

Alfred Huang