删除一些文本后的其余HTML文件

时间:2011-04-27 19:35:54

标签: python html beautifulsoup

我在python中使用BeautifulSoup抓取HTML文件。 我想在找到一个单词后删除文本。

例如:

<div class="content">

<p> Page 1 </p>
<p> Page 2 </p>
<p> Page 3 </p>
<p> Page 4 </p>
<p> Page 5 </p>

</div>

我想从第3页删除。

<div class="content">

<p> Page 1 </p>
<p> Page 2 </p>
<p> Page 3 </p>

</div>

我试过以下

p = soup.findAll('p')
if len(p) > 3 :
   d = p[3]
   while d:
       e = d.next
       d.extract()
       d = e

d.extract()替换为del(d)也无效。 请帮忙。

1 个答案:

答案 0 :(得分:1)

试试这个:

p = soup.findAll('p')  
while len(p) > 3:
    last_p = p.pop()
    last_p.extract()