Я новичок в изучении веб-страниц и получил проблему
Я использую BeautifulSoup для очистки веб-страницы. Я хочу получить узлы, в которых есть текст.
Я пробовал это с помощью метода get_text (), как этот
soup = BeautifulSoup(open('FAQ3.html'), "html.parser")
body = soup.find('body')
for i in body:
if type(i) != bs4.element.Comment and type(i)!= bs4.element.NavigableString :
if i.get_text():
print(i)
но get_text дает узел, даже если его дочерний элемент содержит текст,
образец HTML:
<div>
<div id="header">
<script src="./FAQ3_files/header-home.js"></script>
</div>
<div>
<div>
this node contain text
</div>
</div>
</div>
при проверке самого верхнего div он возвращает весь узел, так как в самом внутреннем содержался текст,
как перебрать все узлы и отфильтровать только те узлы, в которых есть текст?