如何在beautifulsoup中获取所选标签的下一个标签(元素)

时间:2019-01-19 05:23:19

标签: python python-3.x beautifulsoup

我想要一个仅具有HTML标签而不具有任何唯一标识的元素 但我可以选择该标签的上部标签,如何从该选择中获得下一个标签 (例如)

<div>
    <span class="class1"> text </span>
    <p> I want this text </P> <!-- how to get this text --> 
</div>

我尝试过的代码

data = BeautifulSoup("""
    <div>
        <span class="class1"> text </span>
        <p> I want this text </P> <!-- how to get this text -->
    </div>
    """, 'lxml')

data.find('span', class_='class1').next_sibling
data.find('span', class_='class1').next_element

输出:

'\n'
' text '

1 个答案:

答案 0 :(得分:1)

尝试.find_next_sibling()

data.find('span', class_='class1').find_next_sibling()

如果要从.text对象中提取文本,请使用NavigableString