@LeakySpoon

Как спарсить текст из тэга на одном уровне с нужным?

Есть примерно такая ситуация:
<div>
    <p class="1">
    <label>"Значение, которое нужно спарсить"</label>
</div>
<div>
    <p class="2">
    <label>"Значение, которое мне не нужно"</label>
</div>

Как мне зная класс р вытянуть только то значение, которое находится на одном уровне с ним?
  • Вопрос задан
  • 286 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Kadabrov
soup.find('p',  class_='1').find('label').getText()
Ответ написан
@AVKor
from bs4 import BeautifulSoup

DOC = '''
<html>
<body>
<div>
    <p class="1">
    <label>Значение, которое нужно спарсить</label>
</div>
<div>
    <p class="2">
    <label>Значение, которое мне не нужно</label>
</div>
<div>
    <p class="1">
    <label>Ещё одно значение, которое нужно спарсить</label>
</div>
</body>
</html>
'''

soup = BeautifulSoup(DOC, 'lxml')

for par in soup.find_all('p', class_='1'):
    label = par.find_parent('div').find('label')
    print(label.text)
Ответ написан
Комментировать
@nk_nkt
lst = [tag_p.get_text() for tag_p in soup.select(".1")]
# берешь из листа то, что нужно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы