Python:用完整地址填写给定的URL

时间:2013-07-15 18:42:37

标签: python python-2.7

当我在浏览器中提供网址时给出了网址cnn.com,它会找到http://www.cnn.com作为正确的网址。

然而

r = requests.get('www.cnn.com')

给出

MissingSchema: Invalid URL u'www.cnn.com': No schema supplied

错误

是否可以像浏览器一样检测到正确的网址?

2 个答案:

答案 0 :(得分:2)

显然,您使用的模块不想猜测方案,所以必须提供它。如果您自己构建一个界面并希望您的用户能够省略该方案,那么您需要自己实施一些“智能”方法。一种方法是使用http://docs.python.org/2/library/urlparse.html,检查URL中是否给出了方案。如果未提供方案,请将所需的默认方案(例如http)添加到ParseResult对象,并通过ParseResult.geturl()获取修改后的网址。

答案 1 :(得分:0)

是的,这是可能的,或者至少可以做出正确的猜测并对其进行测试。 为了做出好的猜测,您可以先在URL的开头查找“http://”,如果不存在则添加它。要测试该猜测,您可以尝试点击生成的域,看看您是否获得了成功的响应。 。