python爬虫一直报错?
爬虫报错,有好多可能,从一个新手角度来看,大致有以下几条:
1、ImportError 导入模块/对象失败
这类错误往往是在导入模块的时候报错,比如导入失败或者没有安装对应的模块
处理方式:安装相应的模块,或者检查语法是否输入错误等等
2、KeyError、NameError、SyntaxError、TabError、ValueError、IndentationError
这类错误往往是比较麻烦的,我们来挨个解释下:
KeyError值错误,没有对应的键值,比如取字典中不存在的值的时候,就会出现这个错误
NameError变量名错误,这个错误一般出现在没有定义或者没有初始化变量,或者变量名字输入错误
SyntaxError语法错误,这个错误很明显就是字面意思了
TabError Tab和空格混用导致的错误、IndentationError缩进错误
ValueError参数错误,传入的参数值有问题,比如类型错误或者其他的
以上错误往往是因为写编码的时候不够细致,或者一些不好的操作习惯导致。出现错误后只需要根据后面的提示去修正相应的代码即可!
3、AttributeError对象没有这个属性、IndexError列表没有相应的索引
这2个错误为什么单独拿出来呢,是因为这是新手最常见的错误了,比如我们在做一个小爬虫,用re或者其他方式匹配出结果后,需要对其进行进一步的操作比如分割,往往就忽略了一个问题,匹配出的结果是列表,或者精确的匹配一个内容,也忽略它本身还是一个列表,我们把它当成是一个字符串来处理,就会报错
还有就是如果没有匹配到相应的内容,会返回空列表,而这种情况有可能发生在代码已经写到后面了,没有相应的判断语句去规避,结果就是返回的空列表,去取值,就会报IndexError错误了!
当然还有其他的错误类型,比如上面几位所说的,requests没有返回我们要求的值、因为爬取的过快结果服务器断开连接等等,都会发生报错!
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有