python 2 и 3 извлекают домен из url

у меня есть url-адрес:http://xxx.abcdef.com/fdfdf/

и я хочу сделать xxx.abcdef.com

какой модуль я могу использовать для этого?

Я хочу использовать тот же модуль и метод в python2 и python3

мне не нравится попытка, кроме способа совместимости python2/3

спасибо Вам большое!

2 ответов


использовать urlparse:

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

print o.netloc

в Python 3, вы импортируете urlparse вот так:

from urllib.parse import urlparse

как вариант, просто использовать .split ():

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

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

Sidenote: вот как вы пишете импорт urlparse, который будет работать в любой версии:

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

вы можете использовать стороннюю библиотеку six, которая заботится о проблемах совместимости между версиями python и стандартной библиотечной функцией urlparse для извлечения узла

поэтому все, что вам нужно сделать, это установите шесть и импортировать urlparse

from six.moves.urllib.parse import urlparse
u = urlparse("http://xxx.abcdef.com/fdfdf/")
print(u.hostname)

подробнее о urlparse здесь