我需要选择一个带有beautifulsoup的特定子标签的div标签

时间:2018-10-05 06:46:15

标签: python python-3.x beautifulsoup

<div class = "some class">
    <h4>X1</h4>
    <a href="www.someurl.com">Value of X1</a>
</div>

我需要选择具有某些h4匹配文本X1的div。通过使用具有特定属性的find_all(),然后再次使用find_all转到h4,将选择h4而不是div本身。我需要选择div。

如果上面的方法可行,是否有任何直接访问'a'标签的方式?

1 个答案:

答案 0 :(得分:1)

好像您需要findNext方法。

例如:

from bs4 import BeautifulSoup


html = """<div class = "some class">
    <h4>X1</h4>
    <a href="www.someurl.com">Value of X1</a>
</div>"""

soup = BeautifulSoup(html, "html.parser")
for tag in soup.find_all("h4", text="X1"):     #Find all h4 with required text. 
    print(tag.findNext("a").text)

输出:

Value of X1