【发布时间】:2025-12-26 00:15:07
【问题描述】:
我经常在 Python 中使用lxml 模块从一些网站上抓取数据,而且我通常对这个模块感到满意。但是,当我尝试抓取时,有时我会在etree.fromstring() 调用时遇到lxml.etree.XMLSyntaxError: AttValue: " or ' expected 错误,但通常不会。我无法澄清我看到该错误的频率,但我认为千分之一甚至数万次,我都会遇到该错误。当我在错误发生并且脚本停止后立即运行完全相同的脚本时,我看不到错误并且脚本按预期运行良好。为什么它偶尔会吐出一个错误?有没有办法处理这个问题?我在实例化 urllib2.urlopen() 函数时遇到了类似的问题,但是由于我最近没有看到来自urllib2 的错误,所以我现在无法写出来自它的确切错误消息。
谢谢。
【问题讨论】:
-
也许是 invalid XML?捕获导致错误的数据并使用XML/XHTML validator 对其进行验证。 (对于相同的数据,错误不太可能不确定地发生 - 也许服务器返回了其他内容?)
标签: python web-scraping urllib2 lxml elementtree