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 здесь