您当前的位置: 首页 >  爬虫

川川菜鸟

暂无认证

  • 3浏览

    0关注

    969博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

川川菜鸟 发布时间:2021-01-26 00:09:10 ,浏览量:3

贴代码:

#异常处理
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的子类,现在我把子类和父类加进来:

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没报错那就是请求正确。 大家可以换不同的网址进行测试,我是专门选的一个不能请求的网址,把这样的代码当作一个模板记住,其实没啥技巧。

关注
打赏
1665165634
查看更多评论
立即登录/注册

微信扫码登录

0.0494s