聆听风声 点点滴滴都很珍贵!

python新手使用Beautiful Soup4常见错误


使用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()

不知各位看官有什么好的方法解决此问题,可以留言一起交流


Similar Posts

Comments