从URL字符串解析站点/域名

时间:2012-09-05 16:13:50

标签: python parsing url

  

可能重复:
  get site name from a URL in python

对于这样的网址:

http://twitter.com/pypi
http://www.wolframalpha.com/input/?i=python

我想提取'http://twitter.com''http://wolframalpha.com'部分。

以下代码有效,但我正在寻找更简洁的方法来建议......

'/'.join(url.split('/',3)[:3])

2 个答案:

答案 0 :(得分:4)

您可以使用urllib.parse(在Python 3之前命名为urlparse)模块:

>>> from urllib.parse import urlparse
>>> urlparse("http://twitter.com")
ParseResult(scheme='http', netloc='twitter.com', path='', params='', query='', fragment='')
>>> r = urlparse("http://twitter.com")
>>> r.scheme + '://' + r.netloc
'http://twitter.com'

答案 1 :(得分:0)

urlparse的另一种(不太可读)方法:

>>> from urlparse import urlparse, urlunparse
>>> urlunparse(urlparse("http://twitter.com/pypi")[:2] + ("",) * 4)
'http://twitter.com'