是否有像HtmlAgilityPack(.NET)for Python这样的好解析器?

问题描述:

我正在寻找一个像HtmlAgilityPack(开源.NET项目:http://www.codeplex.com/htmlagilitypack)的好解析器,但是适用于Python。是否有像HtmlAgilityPack(.NET)for Python这样的好解析器?

任何人都知道吗?

使用Beautiful Soup像大家一样。

+4

此时BS已经成功了lxml。 – aehlke 2009-08-03 20:35:18

Beautiful Soup应该是你要搜索的东西。它是一个html/xml解析器,可以处理无效页面并允许遍历特定标签。

+0

lxml比BS更好地处理无效页面。使用lxml.html中的css选择器遍历标签更容易。 – aehlke 2009-08-03 20:35:53

其他人推荐BeautifulSoup,但使用lxml好多了。尽管它的名字,它也用于解析和刮取HTML。它比BeautifulSoup快得多,它甚至比BeautifulSoup(他们的声望)更好地处理“破碎的”HTML。如果您不想学习lxml API,它也具有用于BeautifulSoup的兼容性API。

Ian Blicking agrees

没有理由再使用BeautifulSoup,除非您使用的是Google App Engine或其他任何不是纯粹Python不允许的东西。

+0

我听说过lxml的好东西。人们应该尝试一下,然后做出选择。 – Geo 2009-08-03 18:48:36