#python爬虫的异常处理
#爬虫遇到异常时就会直接崩溃停止运行,下次再运行时,又会从头开始。
#开发一个具有顽强生命力的爬虫,必须要进行异常处理。
#常见状态码以及含义
#301 Moved Permanently:重定向到新的URL,永久性
#302 Found:重定向到临时的URL,非永久性
#304 Not Modified:请求的资源未更新
#400 Bad Request:非法请求
#401 Unauthorized:请求未经授权
#403 Forbidden:禁止访问
#404 Not Found:没有找到对应页面
#500 Internal Server Error:服务器内部出现错误
#501 Not Implemented:服务器不支持实现请求所需要的功能
#异常处理的两个类URLError和HTTPError
#HTTPError是URLError的子类,HTTPError有异常状态码及异常原因,而URLError没有异常状态码
##URLError发生的原因主要有:1.连不上服务器。2.访问的URL不存在。3.没有网络。4.触发了HRRPError子类
import urllib.error
import urllib.request
try:
urllib.request.urlopen("http://blog.csdn.net")
except urllib.error.URLError as e:
if hasattr(e,"code"):
print(e.code)
if hasattr((e,"reason")):
print(e.reason)