第五天
异常处理神器—URLerror实战
程序在执行过程中,难免会发生异常,在Python爬虫中,需要经常处理一些与url异常的处理神器—URLerror类进行相应的处理,使用URLError类,需要导入urllib.error模块。
一般用 try…except语句执行捕获异常信息,并进行相应的异常处理。
以下介绍两个URLError类
第一个:URLError类
import urllib.request
import urllib.error
try:
urllib.request.urlopen("http://blog.csdn.net")
except urllib.error.URLError as e:
print(e.code)
print(e.reason)
URLError主要有以下三种情况:
连接不上服务器
远程URL不存在
无网络
触发了HTTPError
常见状态码和含义:
200 OK 正常
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类import urllib.error
import urllib.request
import urllib.error
try:
urllib.request.urlopen("http://blog.csdn.net")
except urllib.error.HTTPError as e:
print(e.code)
print(e.reason)