如何在不导入整个模块的情况下处理lxml错误?

时间:2017-05-20 23:52:36

标签: python error-handling lxml lxml.html

我有一个作为网络蜘蛛运行的Python(3.6)脚本。它抓取页面的内容,提取链接并抓取它们。它使用lxml.html来处理链接,使用

进行导入
from lxml import html

我正在尝试为运行时遇到的每个错误创建自定义响应。我目前正在处理Unicode,SSL,Redirect,Connection和ContentDecode错误。我经常遇到lxml.etree.XMLSyntaxErrorlxml.etree.XMLParseError。我尝试通过except-blocks传递它们,但是当它遇到NameError: name 'lxml' is not defined时它总是停止,因为我只导入lxml.html而不是整个模块。

有没有办法在不导入整个模块的情况下捕获错误?

1 个答案:

答案 0 :(得分:0)

您可以通过etree.(Error)访问lxml错误,即。 etree.XMLSyntaxErroretree.ParseError

from lxml import etree

lxml还有a nice page详细说明etree模块中的每个对象。

相关问题