0

当我在浏览器中输入一个 url cnn.com 时,它会发现http://www.cnn.com是正确的 url。

然而

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

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

错误

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

4

2 回答 2

2

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

于 2013-07-15T18:46:17.100 回答
0

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

于 2013-07-15T18:45:03.903 回答