如何错误检查 urllib.request
How to error check urllib.request
我在 python 代码中有一行是:
req = urllib.request.urlopen(path + "robots.txt", data=None)
但如果网站.com/robots.txt 不存在,这似乎会出错。如果这不起作用,我如何添加一个错误检查条件,将 req 设置为空白?
这是 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
的事情(或任何你喜欢的)。
我在 python 代码中有一行是:
req = urllib.request.urlopen(path + "robots.txt", data=None)
但如果网站.com/robots.txt 不存在,这似乎会出错。如果这不起作用,我如何添加一个错误检查条件,将 req 设置为空白?
这是 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
的事情(或任何你喜欢的)。