当我在浏览器中输入一个 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?
当我在浏览器中输入一个 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?
显然你正在使用的模块不想猜测方案,所以你必须提供它。如果您自己构建一个界面并希望您的用户能够省略该方案,则您需要自己实现一些“智能”方法。一种方法是使用http://docs.python.org/2/library/urlparse.html,检查 URL 中是否给出了方案。如果未提供方案,请将所需的默认方案(例如http
)添加到ParseResult
对象并通过 获取修改后的 URL ParseResult.geturl()
。
是的,这是可能的,或者至少可以做出很好的猜测并进行测试。为了做出正确的猜测,您可以首先在 URL 的开头查找“http://”,如果不存在则添加它。为了测试这个猜测,你可以尝试点击生成的域,看看你是否得到了成功的响应。.