[英]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.