爬虫之urllib.error模块

内容预览:

    error模块简介

    我们在爬虫的时候发请求的时候难免出现错误,如访问不到服务器或者访问被禁止等等,

    出错了之后urllib将错误信息封装成了一个模块对象中,这个模块就叫error模块

    error的分类

    分为URLError和HTTPError。

    URLError是OSError的一个子类

    有以下错误的时候错误信息就会被封装在URLError里:

    1. 无网络
    2. 有网络但是由于种种原因导致服务器连接失败

    而如果能够连接服务器但是服务器返回了错误代码如404,403等等(400以上),那么催无信息就会被封装在HTTPError里

    URLError与HttpError的区别和关系

    区别:

    • URLError封装的错误信息一般是由网络引起的,包括url错误
    • HTTPError封装的错误信息一般是服务器返回了错误状态码

    关系:

    • URLError是OSERROR的子类,HTTPError是URLError的子类

    使用方法

    error类是在捕获错误信息的时候使用,而且一般我们也需要进行捕获,因为你很难确定访问请求一定不会出现错误

    from urllib import request
    
    from urllib import error

    url = 'http://baiduuuu.com'

    try:
    res = request.Request(url)
    response = request.urlopen(res)

    print(response.read().decode())

    except error.HTTPError as he:
    print(he)
    # print(he.reason)

    except error.URLError as ue:
    print(ue)
    # print(ue.reason)

    except Exception as e:
    print(e)

    注意:由于HTTPError是URLError的子类,所以捕获的时候HTTPError要放在URLError的上面

    以上就是:爬虫之urllib.error模块 的全部内容。

    本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢。
    Email:[email protected]


    系统运维
    0 条回复 A 作者 M 管理员
      所有的伟大,都源于一个勇敢的开始!
    欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论