RecursionError: maximum recursion depth exceeded while calling a Python object
爬虫的朋友一般分页或者回调的时候就经常会遇到这个错误,英文意思很明白,超过了Python的最大递归深度。
python默认的递归深度是很有限的(默认是1000),因此当递归深度超过999的样子,就会引发这样的一个异常。
解决方法很简单,在代码头部加入:(修改递归深度的值,让它变大大一点)
import sys
sys.setrecursionlimit(1000000)
这样修改Python最大递归为100万次,根据个人需求设置次数。
结语
这个解决方法并不治本,还需要在代码上进行优化。我出现这个错误的原因是忽略了对爬取页面的异常值处理,在增加判断之后,递归深度一般达不到python的默认限制。