每个程序都不可避免地要进行异瑺处理爬虫种类也不例外,假如不进行异常处理可能导致爬虫种类程序直接崩掉。以下是网络爬虫种类出现的异常种类
通常,URLError在没囿网络连接(没有路由到特定服务器)或者服务器不存在的情况下产生。
首先我们要明白服务器上每一个HTTP 应答对象response都包含一个数字“状态码”该状态码表示HTTP协议所返回的响应的状态,这就是HTTPError比如当产生“404 Not Found”的时候,便表示“没有找到对应页面”可能是输错了URL地址,也可能IP被该网站屏蔽了这时便要使用代理IP进行爬取数据。
两者是父类与子类的关系即HTTPError是URLError的子类,HTTPError有异常状态码与异常原因URLError没有异常状态碼。所以我们在处理的时候,不能使用URLError直接代替HTTPError同时,Python中所有异常都是基类Exception的成员所有异常都从此基类继承,而且都在exceptions模块中定义如果要代替,必须要判断是否有状态码属性