捕获beautifulsoup HTMLParseError异常

时间:2015-10-20 23:26:41

标签: python python-2.7 beautifulsoup

我从Beutifulsoup HTMLParseError: expected name token at u'<![0Y', at line 1371, column 24获得例外 - 因为我正在阅读的HTML格式不正确而出现。

如何捕获此错误 - 我已尝试

 try: 
     ... 
 except HTMLParseError:
     pass

但会导致错误NameError: global name 'HTMLParseError' is not defined

我还尝试了except BeautifulSoup.HTMLParseError:,但之后又出现了错误AttributeError: type object 'BeautifulSoup' has no attribute 'HTMLParseError'

更广泛地说,当我从我正在使用的包中获得自定义错误时,如何“解决”处理它所需的异常是什么?

2 个答案:

答案 0 :(得分:2)

BeautifulSoup正在从HTMLParser库中引发HTMLParseError。尝试从try库中导入错误,然后在try / except:

中使用它
from HTMLParser import HTMLParseError

try:
    # error happens
except HTMLParseError:
    pass

有关HTMLParse库的更多信息,请here

查看BeautifulSoup源代码here中出现错误的位置。

答案 1 :(得分:-3)

您是否尝试过捕获NameError异常?

如果你无法抓住它试试这个:

try:
    # error happens
except Exception as e:
    # log the exception here
    print(e)