BeautifulSoup - 如何找到连续第三个div

时间:2013-01-11 12:37:27

标签: python beautifulsoup

如何找到第三个连续的div(不是下一个)

x = soup.find('div', attrs={'id': 'a'})
x.find_next('div').text

我希望<div id="d">div id="a"之后的第三个连续div)

<div id="a" class="text" >1</div>
<div id="b" class="text" >2</div>
<div id="c" class="text" >3</div>
<div id="d" class="text" >4</div>

1 个答案:

答案 0 :(得分:3)

改为使用find_all()并将其用作索引列表:

.find_all('div')[2]

要查找第n个下一个兄弟,请改用.find_next_siblings(),然后选择第3个元素:

thirddiv = x.find_next_siblings('div')[2]