爬虫学习-异常捕获

爬虫相关的异常一般分为两类,一类是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捕获

 

 

 

你可能感兴趣的:(python相关)