欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

爬虫学习-异常捕获

程序员文章站 2022-05-29 21:02:42
...

爬虫相关的异常一般分为两类,一类是URLError,另一类是HTTPError。

1.URLError

#导入相关包
from urllib import request, error
#通过try catch捕获相关异常 网址中忘记了//
try:
    response = request.urlopen('http:www.baidu.com',timeout=5)
except error.URLError as e:
    print(e.reason)

相应的报错信息如下:no host given

2.HTTPError 其实HTTPError是URLError的子类专门用来处理HTTP请求的错误。

#导入包
from urllib import request,error
#try会发现不存在网页的错误(404),并且会被捕获
try:
    response = request.urlopen('https://blog.csdn.net/1.html')
except error.HTTPError as e:
    print(e.reason, e.code, e.headers)
except error.URLError as e:
    print(e.reason)
else:
    print('访问成功!')

访问的页面不存在会首先被HTTPError捕获,其它异常会被URLError捕获