python 2 and 3 extract domain from url

compatibility, parsing, python, python-2.x, python-3.x

Solution

Use urlparse:

from urlparse import urlparse
o = urlparse("http://xxx.abcdef.com/fdfdf/")
print o

print o.netloc

In Python 3, you import urlparse like so:

from urllib.parse import urlparse

Alternatively, just use str.split():

url = "http://xxx.abcdef.com/fdfdf/"

print url.split('/')[2]

Sidenote: Here's how you write an import of urlparse that will work in either version:

if sys.version_info >= (3, 0):
    from urllib.parse import urlparse
if sys.version_info < (3, 0) and sys.version_info >= (2, 5):
    from urlparse import urlparse

Problem

I have an url like: `http://xxx.abcdef.com/fdfdf/` And I want to get `xxx.abcdef.com` Which module can i use for accomplish this? I want to use the same module and method at python2 and python3 I don't like the try except way for python2/3 compatibility Thanks you so much!

Original source

Related problems