爬虫异常处理

Posted heyue13

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫异常处理相关的知识,希望对你有一定的参考价值。

1.常见状态码及含义

301  重定向到新的url,永久性

302  重定向到临时url,非永久性

304  请求的资源未更新

400  非法请求

401  请求未经授权

403  禁止访问

404  没有找到对应页面

500  服务器内部出现错误

501  服务器不支持实现请求所需要的功能

2.URLError和HTTPError

均为处理异常的类,HTTPError是URLError的子类,HTTPError有异常码和异常原因,URLError没有异常码

所以,在处理的时候,不能使用URLError直接代替HTTPError,如需代替,必须判断是否有状态码属性

# 异常处理
‘‘‘
URLError出现的原因
1)连不上服务器
2)远程url不存在
3)无网络
4)触发HTTPERrror
‘‘‘
import urllib.request
import urllib.error
try:
    urllib.request.urlopen("https://blog.csdn.net/")
except urllib.error.URLError as err:
    if hasattr(err,"code"): #判断状态码和原因
        print(err.code)
    if hasattr(err,"reason"):
        print(err.reason)

 

以上是关于爬虫异常处理的主要内容,如果未能解决你的问题,请参考以下文章

玩转python爬虫之URLError异常处理

Python爬虫异常处理

网络爬虫--异常处理

Python爬虫入门五之URLError异常处理

爬虫异常处理

Python3网络爬虫实战-21使用Urllib:处理异常