我正在写一些东西来'清理'一个URL。在这种情况下,我所要做的就是返回一个伪造的方案,因为urlopen
不会在没有人的情况下工作。但是,如果我使用www.python.org
进行测试,它将返回http:///www.python.org
。有谁知道为什么额外的/,有没有办法在没有它的情况下返回?将url与urlunparse结合起来
def FixScheme(website):
from urlparse import urlparse, urlunparse
scheme, netloc, path, params, query, fragment = urlparse(website)
if scheme == '':
return urlunparse(('http', netloc, path, params, query, fragment))
else:
return website
这是非常有意义的,它假定netloc存在,因为它是一个空字符串,并连接额外/应该在那里。您的解决方案有效!感谢您的快速响应。 – Ben 2010-09-26 15:00:46
@Ben,不客气! – 2010-09-26 15:09:48
@Ben,你应该点击这个答案左边的复选标记以将其标记为接受=) – katrielalex 2010-09-26 15:44:47