使用Beautiful Soup4的get_text
方法出现的错误
作为一名pyhton新手,入手一个款html解析框架Beautiful
Soup4
,在使用的过程中确实非常的方便,比起自己写正则匹配要爽的多,不过在使用的过程中也遇到了一些坑,不踩一踩这些坑都不好意思说自己是一名新手。
在提取页面中的文字时经常使用的是get_text
方法,这个方法可以很方便的提取标签内的内容,不过在通过程序抓取内容的时候,有的标签内没有内容,程序会判断当前的内容类型为None
如果我们不对数据进行判断就使用get_text
方法提取标签内的内容,会出现如下错误:
AttributeError: 'NoneType' object has no attribute 'get_text'
这是因为数据类型为None
,我们需要先过滤掉None
类型数据,避免在循环数据时候产生错误,中断程序。 下面是一个简单的过滤方法:
def get_val(val):
if val == None:
return ""
else:
return val.get_text()
不知各位看官有什么好的方法解决此问题,可以留言一起交流