在美丽的汤上缺少部分结果

Tas*_*sos 5 python beautifulsoup

我试图<p>在以下HTML代码中检索几个标签.这里只是其中的一部分

<td class="eelantext">
    <a class="fBlackLink"></a>
    <center></center>
    <span> … </span><br></br>
    <table width="402" vspace="5" cellspacing="0" cellpadding="3" 
        border="0" bgcolor="#ffffff" align="Left">
    <tbody> … </tbody></table>
      <!--edstart-->
    <p> … </p>
    <p> … </p>
    <p> … </p>
    <p> … </p>
    <p> … </p>
</td>
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到这个网页

我的Python代码如下

soup = BeautifulSoup(page)
div = soup.find('td', attrs={'class': 'eelantext'})
print div
text = div.find_all('p') 
Run Code Online (Sandbox Code Playgroud)

但是text变量是空的,如果我打印div变量,除了<p>标签之外,我有完全相同的html .

Mar*_*ers 15

BeautifulSoup可以使用不同的解析器来处理HTML输入.这里的HTML输入有点破碎,默认HTMLParser解析器不能很好地处理它.

改为使用html5lib解析器:

>>> len(BeautifulSoup(r.text, 'html').find('td', attrs={'class': 'eelantext'}).find_all('p'))
0
>>> len(BeautifulSoup(r.text, 'lxml').find('td', attrs={'class': 'eelantext'}).find_all('p'))
0
>>> len(BeautifulSoup(r.text, 'html5lib').find('td', attrs={'class': 'eelantext'}).find_all('p'))
22
Run Code Online (Sandbox Code Playgroud)