处理带有请求的错误URL

特奎因

抱歉,对于初学者的问题。我只是在学习如何使用Python访问Web数据,并且在理解requests程序包中的异常处理时遇到了麻烦

到目前为止,当使用该urllib程序包访问Web数据时,我将urlopen调用包装在try / except结构中以捕获错误的URL,如下所示:

import urllib, sys

url = 'https://httpbinTYPO.org/' # Note the typo in my URL

try: uh=urllib.urlopen(url)
except:
    print 'Failed to open url.'
    sys.exit()

text = uh.read()
print text

显然,这是一种粗略的方法,因为它可以掩盖URL错误以外的所有问题。

从文档中可以看出,使用该requests时可以避免使用try / except结构,如下所示:

import requests, sys

url = 'https://httpbinTYPO.org/' # Note the typo in my URL

r = requests.get(url)
if r.raise_for_status() is not None:
    print 'Failed to open url.'
    sys.exit()

text = r.text
print text

但是,这显然不起作用(引发错误和回溯)。什么是做到这一点的“正确”(即简单,优雅,Python式)方法?

安德森

尝试捕获连接错误:

from requests.exceptions import ConnectionError

try:
    requests.get('https://httpbinTYPO.org/')
except ConnectionError:
    print 'Failed to open url.'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python中处理带有请求的发布数据

来自分类Dev

诊断带有请求的挂起请求

来自分类Dev

诊断带有请求的挂起请求

来自分类Dev

如何为带有和不带有请求参数的请求定义不同的 Spring MVC 请求处理程序?

来自分类Dev

带有请求的“点击”按钮

来自分类Dev

带有请求的“点击”按钮

来自分类Dev

无法登录带有请求的表单

来自分类Dev

如何通过带有请求模块的Python在json中打印Twitter处理?

来自分类Dev

从Mediainfo AWS Lambda发送带有请求的json时发生属性错误

来自分类Dev

从Mediainfo AWS Lambda发送带有请求的json时发生属性错误

来自分类Dev

如何不以角度发送带有请求主体的url模板参数?

来自分类Dev

带有请求主体的Elasticsearch GET请求

来自分类Dev

在Servlet过滤器中将JSF ajax请求重定向到带有请求参数的URL

来自分类Dev

带有Phonegap 3.0.0的所有请求404

来自分类Dev

带有请求和beautifulsoup的Python Scrape

来自分类Dev

Python发布带有请求的cookie

来自分类Dev

发送字典列表作为带有请求的字典值

来自分类Dev

发送带有请求的json以在节点中表达

来自分类Dev

带有请求参数的Spark Read JSON

来自分类Dev

Web抓取带有请求的JSON文件

来自分类Dev

从子域发送带有请求的Cookie

来自分类Dev

无法将带有请求的HTML写入文件

来自分类Dev

带有请求的mod_rewrite .html

来自分类Dev

Python:删除带有请求和JSON的函数

来自分类Dev

如何使用php或javascript创建带有请求的POST

来自分类Dev

带有请求的HTTP发布失败:BadStatusLine

来自分类Dev

如何发送带有请求承诺的表格?

来自分类Dev

AFNetworking发送带有请求的标头

来自分类Dev

是否可以找到带有请求的链接文本?

Related 相关文章

热门标签

归档