Как получить текст блока?
Есть структура блока
<div id="test">
<span class="spoiler">Текст 1</span>
Lorem <b>ipsum</b> dolor sit amet
</div>
Как мне достать текст "Lorem ipsum dolor sit amet" не затрагивая тег span? Библиотека BeautifulSoup
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Можно удалить тег span перед тем как доставать текст:
from bs4 import BeautifulSoup
root = BeautifulSoup("""
<div id="test">
<span class="spoiler">Текст 1</span>
Lorem <b>ipsum</b> dolor sit amet
</div>
""", 'html.parser')
test_el = root.select_one('#test')
test_el.span.decompose()
print(test_el.text.strip())
# Lorem ipsum dolor sit amet
Автор решения: Сергей Ш
→ Ссылка
from bs4 import BeautifulSoup
root = BeautifulSoup("""
<div id="test">
<span class="spoiler">Текст 1</span>
Lorem <b>ipsum</b> dolor sit amet
</div>
""", 'html.parser')
test_el = list(root.stripped_strings)
print(' '.join(test_el[1:]))
# Lorem ipsum dolor sit amet