我的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两次,但每个表中通常有数百个标签,因此不起作用。
答案 0 :(得分:4)
将
test = table.nextSibling
为你工作?