html структурирован следующим образом:
<div class="my_class">
<div>important text</div>
<div class="my_class">
<div>not important</div>
</div>
</div>
<div class="my_class">
<div>important text</div>
<div class="my_class">
<div>not important</div>
</div>
</div>
...
В основном, есть много div с тем же именем, что и их дочерние div, и, в конечном счете, я хочу найти «важный текст», который находится втолько div div.
Когда я пытаюсь найти все div с помощью class = "my_class", я, очевидно, получаю как родителей, так и детей.Как я могу получить только родительские элементы div?
Вот мой код для получения всех элементов div с помощью class = "my_class" и поиска важного текста:
my_div_list = soup.find_all('div', attrs={'class': 'my_class'})
for my_div in my_div_list:
text_item = my_div.find('div') # to get to the div that contains the important text
print(text_item.getText())
Очевидно, что вывод такой:
important text
not important
important text
not important
...
Когда я хочу:
important text
important text
...