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
В качестве альтернативы просто используйте str.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
Вы можете использовать стороннюю библиотеку шесть, которая решает проблемы совместимости между версиями Python и стандартной библиотечной функцией. urlparse
извлечь имя хоста
так что все, что вам нужно сделать, это установить шесть и импортировать urlparse
from six.moves.urllib.parse import urlparse
u = urlparse("http://xxx.abcdef.com/fdfdf/")
print(u.hostname)
Больше на urlparse здесь