Python数据分析与挖掘之爬虫异常处理

2017-12-20  本文已影响9人  我是Python小白

异常处理概述

爬虫在运行的过程中,很多时候都会遇到这样或那样的异常。如果没有异常处理,爬虫遇到异常的时候就会直接奔溃停止运行,下次再运行的时候又会从头开始,所以,要开发一个具有顽强生命力的爬虫,必须进行异常处理。

常见状态码及含义

URLError与HTTPError

两者都是异常处理的类,HTTPError是URLError的子类,HTTPError有 异常状态码与异常原因,URLError没有异常状态码,所以,在处理的时 候,不能使用URLError直接代替HTTPError。如果要代替,必须要判断 是否有状态码属性。

异常处理实战

客户端如果要与服务器端进行通信,需要通过http请求进行,http请求 有很多种,我们在此会讲post与get两种请求方式。比如登陆、搜索某 些信息的时候会用到。

import urllib
try:
    data = urllib.request.urlopen("http://www.google.com",timeout=3).read()
except urllib.error.URLError as er:
    print(er)
    if hasattr(er,"code"):
        print("error="+str(er.code))
    if hasattr(er,"reason"):
        print("error="+str(er.reason))
上一篇 下一篇

猜你喜欢

热点阅读