擅长:python、mysql、java
<p>你应该用<a href="http://lxml.de/" rel="nofollow noreferrer">lxml</a>。它可以处理由空格分隔的多个类值(“class1 class2”)。</p>
<p>尽管它的名字是lxml,但它也用于解析和抓取HTML。它比BeautifulSoup快得多,甚至比BeautifulSoup(他们的名声)更好地处理“坏”的HTML。如果您不想学习lxml API,它还有一个用于美化组的兼容性API。</p>
<p><a href="http://blog.ianbicking.org/2008/12/10/lxml-an-underappreciated-web-scraping-library/" rel="nofollow noreferrer">Ian Bicking agrees</a>更喜欢lxml而不是BeautifulSoup。</p>
<p>没有理由再使用BeautifulSoup了,除非你是在Google App Engine上,或者是在不允许使用纯Python的地方。</p>
<p>你甚至可以在lxml中使用CSS选择器,因此它比BeautifulSoup更容易使用。尝试在交互式Python控制台中使用它。</p>