1、IndexError: list index out of range(调用append()时发生的错误)
解释:
第一种可能情况:
list[index]index超出范围
第二种可能情况:
list是一个空的,没有一个元素
进行list[0]就会报该错误。
一般外部输入的数据都可能存在问题,所以通常在readlines或者read后要做一次处理。
这样就避免了空行,字段数不足,以及类型转换出错。
解决:
调试检查代码、检查读入的数据是否有问题等
2、TypeError:'float' object cannot be interpreted as an integer(python3中带有除法运算时处理爬虫时出错)
解释:
在python2,/
只留下了整数部分,去掉了小数,是int型。而在python3里,/
的结果是真正意义上的除法,结果是float型
解决:
用int()转换类型
3、AttributeError:ResultSet object has no attribute 'find_next'或者 'ResultSet' object has no attribute 'find_all'(用bs4中获取兄弟节点或循化的标签时发生错误)
解释:
'ResultSet'对象没有属性'find_all'或者'find_next'
解决:
一个列表,所以我们必须迭代它,然后才能使用该find_all或者find_next方法
4、IndentationError:expected an indented block(在用Notepad++写好程序运行时错误)
解释:
Python去掉了语言是一款对缩进非常敏感的语言,有的要缩进有的不能缩进
解决:
你只要在出错的那一行,按空格或Tab(但不能混用)缩进就行。有冒号的下一行往往需要缩进,该缩进就缩进。