擅长:python、mysql、java
<p>无论使用哪个解析器,您都发现了一个bug。在</p>
<p>我不知道你在用哪个解析器,但我知道:</p>
<p>python2.7.2(来自Apple)、bs4.1.3(来自pip)、libxml2.9.0(来自自制程序)、lxml3.1.0(来自pip)的错误与您完全相同。除了libxml2.7.8(来自苹果)之外,我尝试的其他所有内容都与上面相同。并且<code>lxml</code>是默认值(至少在4.1.3中是这样),如果您不指定任何其他内容,BS将首先尝试。我在libxml2.9.0中看到了其他意外的错误(其中大部分已经在trunk上修复,但是还没有2.9.1发布)。在</p>
<p>所以,若这是您的问题,您可能需要降级到2.8.0和/或从树的顶部构建它。在</p>
<p>但如果不是这样的话……它绝对适用于我的2.7.2和stdlib<code>html.parser</code>,在chat中,你用2.7.1测试了同样的想法。虽然<code>html.parser</code>(尤其是在2.7.3之前)是缓慢而脆弱的,但它似乎对您来说已经足够好了。因此,最简单的解决方案是:</p>
<pre><code>soup = BeautifulSoup(content, 'html.parser')
</code></pre>
<p>…而不是让它选择自己喜欢的解析器。在</p>
<p>有关详细信息,请参见<a href="http://www.crummy.com/software/BeautifulSoup/bs4/doc/#specifying-the-parser-to-use" rel="nofollow">Specifying the parser to use</a>(以及上面和下面的部分)。在</p>