python3 爬取网页的异常处理

本文介绍了在Python3中进行网页爬取时如何处理URLError和HTTPError异常。这两种异常可能由网络连接问题、无法连接到特定服务器或服务器不存在引起。学习正确的异常处理对于编写健壮的爬虫至关重要。

有时候python爬取的网页会出现异常,我们需要添加异常处理

我们主要说明一下URLError和HTTPError

参考博客:点击打开链接

URLError

首先解释下URLError可能产生的原因:

  • 网络无连接,即本机无法上网
  • 连接不到特定的服务器
  • 服务器不存在
HTTPError是URLError的子类,在你利用urlopen方法发出一个请求时,服务器上都会对应一个应答对象response,其中它包含一个数字”状态码”,具体每个状态码代表什么可以去网上查到。

from urllib import request
from urllib import error

if __name__ == '__main__':
    target_url = 'http://www.dubai.com/'
    try :
        res = request.urlopen(target_url)
    except error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)
        else:
            print("OK")

因为HTTPerror是URLerror的子类,所以也可以被URLError获取到,我们也可以分开获取,再写一个except error.HTTPError as e:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值