2012-09-05 109 views
1

可能重复:
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]) 
+0

似乎urlp屁股有这覆盖! http://stackoverflow.com/questions/508183/get-site-name-from-a-url-in-python –

回答

4

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

>>> 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' 
0

另一个(更低可读)方法urlparse

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