簡體   English   中英

在美麗的湯上缺少部分結果

[英]Missing parts on Beautiful Soup results

我試圖在以下html代碼中檢索幾個<p>標簽。 這里只是其中的一部分

<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>

你可以在這里找到這個網頁

我的Python代碼如下

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

但是text變量是空的,如果我打印div變量,除了<p>標簽之外,我有完全相同的html。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM