今天爬虫时偶遇的一个问题:当你爬取的网站对应位置没有内容(为空)时,python爬虫获取的值为 NoneType(<class ‘NoneType’>),然后就直接格式化输出(format),结果当然GG!!
下面谈谈这个问题:
原因:正如所报异常的意思,format格式化输出不支持NoneType类型。
Debug:不通过格式化输出打印爬虫获取的内容,发现有些数据域对应的值为None,type(None) --> <class ‘NoneType’>。
解决:要解决也很简单,对爬虫获取的数据在格式化打印输出前进行处理,将None改为其他 str 或者 int 类型便于标识的字段即可!
//result为爬虫获取的数据集
for i in result:
if i is None:
i = 0; # 此处我将None重置为 0
python的爬虫经常会爬取到None这种节点,当你获取的节点是None时,后续若需要对其进行操作就会报错,因此如果爬虫的数据中容易出现获取到None时,一定要先对爬虫获得的数据集进行处理,将None替换为其他字段。