从特定分隔符拆分

时间:2011-01-19 14:12:22

标签: python parsing url

如何抓取http://www.facebook.com/pages/create.php之类的网址,以获得如下结果:www.facebook.com

我试过这种方式,但不起作用:

line.split('/', 2)[2]

我的问题可能是两个正斜杠//和一些URL从www字符串开始。

感谢您的帮助,Adia

4 个答案:

答案 0 :(得分:8)

您可能希望查看Python的urlparse模块。

>>> from urlparse import urlparse
>>> o = urlparse('http://www.facebook.com/pages/create.php')
>>> o.netloc
'www.facebook.com'

答案 1 :(得分:1)

可能最好的选择是从正则表达式返回服务器部分,即

\/[a-z0-9\-\.]*[a-zA-Z0-9\-]+\.[a-z]{2,3}\/

可以包括www.facebook.com,facebook.com,some-domain.tv,www.some-domain.net等。

注意:头部和尾部斜杠是正则表达式的一部分,而不是正则表达式分隔符。

答案 2 :(得分:1)

尝试:

line.split("//", 1)[-1].split("/", 1)[0]

答案 3 :(得分:0)

我愿意:

ch[7 if ch[0:7]=='http://' else 0:].partition('/')[0]

我不确定它对你遇到的所有情况都有效

此外:

ch[(ch[0:7]=='http://')*7:].partition('/')[0]