首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >爬虫学习(4):error异常处理

爬虫学习(4):error异常处理

作者头像
川川菜鸟
发布2021-10-18 14:06:33
发布2021-10-18 14:06:33
4300
举报

贴代码:

代码语言:javascript
复制
#异常处理
from urllib import request,error
try:
    response=request.urlopen('http://42.192.180.200:8888/loginl')#请求的网址
except error.HTTPError as e:
    print(e.reason,e.code,e.headers,sep='\n')#分别打印reason,code,headers

结果看一下:

首先要导入request模块,还有异常处理模块error.用try和except搭配,如果能正常访问呢,就正常执行,不能正常执行就打印出出错的原因(reason)和状态码(code)以及请求头(headers).关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符,这里就是打印里的每一个都对应一个换行,看结果图就知道了。 上面我们用到HTTPError,他是URLError的子类,现在我把子类和父类加进来:

代码语言:javascript
复制
from urllib import request,error
try:
    response=request.urlopen('http://42.192.180.200:8888/loginl')
except error.HTTPError as e:
    print(e.reason,e.code,e.headers,sep='\n')#先捕获HTTPError的报错原因,状态码,请求头
except error.URLError as e:
    print(e.reason)#如果不是HTTPError异常,再来获取URLError异常信息
else:
    print("请求成功")#如果两者都不是,那就是请求成功

代码讲解都在注释了,意思就是先去获取子类的报错信息,因为子类HTTPError是专门用来针对HTTP请求错误的,如果不是这个错误,那就看看是不是有别的错误,就打印整个URL报错信息,当然URL没报错那就是请求正确。 大家可以换不同的网址进行测试,我是专门选的一个不能请求的网址,把这样的代码当作一个模板记住,其实没啥技巧。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档