如何在python中使用BeautifulSoup移动到标记的末尾?

时间:2011-12-03 20:45:31

标签: python tags beautifulsoup

我的html如下:

html = '<html><table>this is a table<p>some text</p></table><p>text outside of table</p></html>'

我想移到表的末尾,然后找到下一个标签。我尝试使用findNext,但如果表格中有标签,则会找到该标签,而不是表格外的下一个标签。

soup = BeautifulSoup(''.join(text))
table = soup.find('table')
test = table.findNext()

这段代码告诉我:

<p>some text</p>

但是,我希望它能给我:

<p>text outside of table</p>

主要问题是我不能总是指定标签是'p'标签。我可以有这样的HTML:

html = '<html><table>this is a table<td>some text</td></table><table>text outside of table</table></html>'

所以,我不能真正依赖标签标识符来进入下一个。在上面的代码中,我想返回:

<table>text outside of table</table>

我意识到我可以只使用findNext两次,但每个表中通常有数百个标签,因此不起作用。

1 个答案:

答案 0 :(得分:4)

test = table.nextSibling

为你工作?