python学习之爬虫异常(三)

异常常见状态码含义:

  • 301 Moved Permanently: 重定向到新的URL,永久性
  • 302 Found: 重定向到临时的URL,永久性
  • 304 Not Modified: 请求的资源未更新
  • 400 Bad Request: 非法请求
  • 401 Unauthorized: 请求未经授权
  • 403 Forbidden: 禁止访问
  • 404 Not Found: 没有找到对应页面
  • 500 Internal Server Error: 服务器内部出现错误
  • 501 Not Implemented: 服务器不支持实现请求所需要的功能

异常处理类: HTTPError与URLError
HTTPError是URLError的子类,HTTPError有异常状态码与异常原因,URLError没有异常状态码,所以URLError不能代替HTTPError,否则,需判断是否有状态码属性。
URLError 产生情况:

  • 连接不上服务器
  • 远程URL不存在
  • 无网络
  • 触发HTTPError子类
import urllib.error
import urllib.request

try:
  urllib.request.urlopen('http://blog.csdn.net')
except urllib.error.URLError as e:  #URLError代替HTTPError先判断是否有状态码
  if hasattr(e,"code"): #判读是否有状态码
    print(e.code)
    
  if hasattr(e,'reason'):
    print(e.reason)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值