我在用爬虫爬取网页节点的时候,遇到了
AttributeError: 'NoneType' object has no attribute ''
这类错误,百思不得其解
找了一下Nonetype是什么,就明白了:
要理解这个,首先要理解Python对象,python对象具有三个特性:身份、类型、值。这三个特性在对象创建时被赋值。只有值可以改变,其他只读。类型本身也是对象。 Null与None是Python的特殊类型,Null对象或者是None Type,它只有一个值None. 它不支持任何运算也没有任何内建方法. None和任何其他的数据类型比较永远返回False。 None有自己的数据类型NoneType。你可以将None复制给任何变量,但是你不能创建其他NoneType对象。一句话总结:Null对象是python对象,又叫做NoneType,None是这个对象的值。
看过了NoneType的解释,之所以出现None就很好理解了。
NoneType之所以出现是因为定义了一个变量或函数,却没有值或者返回值,因此会默认值为None。
因此,我在我的代码中加上了判断爬取节点是否为None的语句,就ok了。