Python3 模块2之 Urllib之 urllib.error

本文详细介绍了Python3的urllib.error模块,包括URLError和HTTPError异常的使用及处理。URLError是基础异常类,HTTPError是其子类,专门处理HTTP请求错误。在异常处理中,URLError能捕获HTTPError,但HTTPError不能处理所有URLError异常。最佳实践是同时处理两种异常,以确保全面的错误处理。示例代码展示了如何捕获和处理各种异常情况,如服务器不存在、连接失败、HTTP状态码错误等。
摘要由CSDN通过智能技术生成

紧接上一篇:Python3模块1之Urllib之 urllib.request

urllib.error

urllib.error模块定义由urllib.request引发的异常类。URLError 为基本的异常类。异常处理主要用到两个类,urllib.error.URLErrorurllib.error.HTTPError

一. URLError

URLError 是 urrlib.error 异常类的基类,具有 reason属性,返回错误原因。可以捕获由 urllib.request 产生的异常。

常常产生 URLError 的原因可能有

  • 服务器连接失败
  • 服务器不存在
  • 远程 URL 地址不存在
  • 触发了 HTTPError

下面是例1—-远程地址不存在

from urllib import request, error
try:
    response = request.urlopen('http://blog.csdn.net/qq_36148849.html')
except error.URLError as e:
    print(e.reason)

输出结果1

Not Found

实例1中,爬取的网页本身不存在。通过 urllib.error.URLError as e 捕获异常信息 e,然后对其进行相应的异常处理,并输出异常原因。

下面是例2—-触发HTTPError

import urllib.request
import urllib.error
try:
    req=urllib.request.urlopen('http://www.dianping.com/')
    print(req.read())
except urllib.error.URLError as e:
    print('code: ',e.code)
    print('reason: ',e.reason)

输出结果2

code:  403
reason:  Forbidden

下面是例3—-远程服务器不存在

from urllib import request, error
try:
    response = request.urlopen('http://blog.baidu.net/')
except error.URLError 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值