我有一个网址:http://xxx.abcdef.com/fdfdf/
我希望得到xxx.abcdef.com
我可以使用哪个模块来完成此任务?
我想在python2和python3
使用相同的模块和方法我不喜欢尝试除了python2 / 3兼容性的方式
非常感谢你!
答案 0 :(得分:29)
使用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]
旁注:以下是编写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
答案 1 :(得分:3)
您可以使用第三方库六,它负责python版本和标准库函数urlparse
之间的兼容性问题以提取主机名
所以你需要做的就是install six并导入urlparse
from six.moves.urllib.parse import urlparse
u = urlparse("http://xxx.abcdef.com/fdfdf/")
print(u.hostname)
更多关于urlparse here