当我在浏览器中提供网址时给出了网址cnn.com,它会找到http://www.cnn.com作为正确的网址。
然而
r = requests.get('www.cnn.com')
给出
MissingSchema: Invalid URL u'www.cnn.com': No schema supplied
错误
是否可以像浏览器一样检测到正确的网址?
答案 0 :(得分:2)
显然,您使用的模块不想猜测方案,所以必须提供它。如果您自己构建一个界面并希望您的用户能够省略该方案,那么您需要自己实施一些“智能”方法。一种方法是使用http://docs.python.org/2/library/urlparse.html,检查URL中是否给出了方案。如果未提供方案,请将所需的默认方案(例如http
)添加到ParseResult
对象,并通过ParseResult.geturl()
获取修改后的网址。
答案 1 :(得分:0)
是的,这是可能的,或者至少可以做出正确的猜测并对其进行测试。 为了做出好的猜测,您可以先在URL的开头查找“http://”,如果不存在则添加它。要测试该猜测,您可以尝试点击生成的域,看看您是否获得了成功的响应。 。