Мне нужно выбрать тег div, который имеет определенный дочерний тег с BeautifulSoup - PullRequest
0 голосов
/ 05 октября 2018
<div class = "some class">
    <h4>X1</h4>
    <a href="www.someurl.com">Value of X1</a>
</div>

Мне нужно выбрать div, у которого есть определенный h4 соответствующий текст X1.Используя find_all () с определенными атрибутами, а затем снова используя find_all для перехода к h4, выбирает h4, а не сам div.Мне нужно выбрать div.

И если вышеупомянутое возможно, каким-либо образом получить доступ к тегу 'a' напрямую?

1 Ответ

0 голосов
/ 05 октября 2018

Похоже, вам нужен 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...