据我所知,Python中两个主要的HTML解析库是lxml和BeautifulSoup。我为正在从事的项目选择了BeautifulSoup,但是我选择它的原因并不多,除了找到更易于学习和理解的语法外。但是我看到很多人似乎都喜欢lxml,而且我听说lxml更快。
所以我想知道一个相对于另一个的优势是什么?我什么时候要使用lxml,什么时候可以使用BeautifulSoup更好?还有其他值得考虑的图书馆吗?
对于初学者,BeautifulSoup不再积极维护,并且 作者甚至建议使用lxml之类的替代方法。
从链接页面引用:
在实际的HTML中,Beautiful Soup的3.1.0版比3.0.8版的效果要差得多。最常见的问题是标签处理不正确,“格式错误的开始标签”错误和“错误的结束标签”错误。本页说明发生了什么,如何解决问题以及您现在可以做什么。 该页面最初写于2009年3月。此后,发布了3.2系列,取代了3.1系列,并且4.x系列的开发也正在进行中。此页面将保留以供历史使用。 tl; dr 请改用3.2.0。
在实际的HTML中,Beautiful Soup的3.1.0版比3.0.8版的效果要差得多。最常见的问题是标签处理不正确,“格式错误的开始标签”错误和“错误的结束标签”错误。本页说明发生了什么,如何解决问题以及您现在可以做什么。
该页面最初写于2009年3月。此后,发布了3.2系列,取代了3.1系列,并且4.x系列的开发也正在进行中。此页面将保留以供历史使用。
tl; dr
请改用3.2.0。