【问题标题】:How to error check urllib.request如何错误检查 urllib.request
【发布时间】:2016-10-02 22:45:37
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    这是 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 (或任何你想要的)的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 2013-03-27
      • 2019-09-17
      • 2017-05-04
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多