异常处理:当通过几十个代理IP实现爬虫操作时,如果其中一个代理IP突然不响应了就会报错,并且这种错误触发率极高。但是一个出问题并不会影响到整个脚本的任务,所以当捕获到此类异常的时候,直接忽略即可。
URLError:通常,在没有网络连接(没有路由到特定服务器),或者服务器不存在的情况,就会触发URLError。
这种情况下,异常通常会包含一个由错误编码和错误信息组成的reason属性。
HTTPError:HTTPError是URLError的子类,服务器上每一个HTTP的响应都包含一个数字的“状态码”。
有时候状态码会指出服务器无法完成的请求类型,一般情况下Python会自动处理一部分这类响应,如果有一些无法处理的,就会抛出HTTPError异常。这些异常包括典型的404(页面不存在),403(请求禁止)和401(验证请求)。