如何错误检查urllib.request

时间:2016-06-03 01:47:48

标签: python-3.x error-handling urllib

我在python代码中有一行代码:

req = urllib.request.urlopen(path + "robots.txt", data=None)

但是如果不存在website.com/robots.txt,这似乎是错误的。如果这不起作用,我如何添加一个只将req设置为空的错误检查条件?

1 个答案:

答案 0 :(得分:2)

这是try - except块的一个很好的用例。

from urllib.request import urlopen
from urllib.error import URLError, HTTPError

try:
    req = urlopen(path + "robots.txt", data=None)
except HTTPError as e:
    # do something
    print('Error code: ', e.code)
except URLError as e:
    # do something (set req to blank)
    print('Reason: ', e.reason)

我不确定你的意思是空白,但你可以在except块中将它设置为你想要的任何内容,具体取决于错误是什么。在你的情况下,我相信你会得到一个URLError,在这种情况下你可以做req = None(或任何你想要的)。