Хорошо.
Я получил список предметов, некоторые из них имеют дополнительные div и a. Я хочу отфильтровать элементы так, чтобы я видел только те без дополнительного div и a.
Я получил следующий код.
<!-- ITEM 1 -->
<div id="position0001">
<a class="ignoreThis"></a>
<div class="contentsAreInside">
<section class="dontNeed"></section>
<section class="nameIsInsideHere">
<div class="moreInside">
<div>
<a href="#" class="printThis">IF CLASS "checkIfThisExists" EXISTS DONT PRINT THIS OUT</a>
</div>
<div>...</div>
</div>
<div>...</div>
</section>
<div>...</div>
<section></section>
<section></section>
<section></section>
<div></div>
<div class="itsInside">
<div class="deeper">
<a href="#" class="checkIfThisExists">IF THIS "checkIfThisExists" CLASS EXISTS DONT PRINT OUT THE CONTENTS OF ANCHOR ABOVE</a>
</div>
</div>
</div>
<!-- ITEM 2 -->
<div id="position0002">
<a class="ignoreThis"></a>
<div class="contentsAreInside">
<section class="dontNeed"></section>
<section class="nameIsInsideHere">
<div class="moreInside">
<div>
<a href="#" class="printThis">IF CLASS "checkIfThisExists" EXISTS DONT PRINT THIS OUT</a>
</div>
<div>...</div>
</div>
<div>...</div>
</section>
<div>...</div>
<section></section>
<section></section>
<section></section>
<div></div>
<div class="itsInside">
<!-- no class "deeper" -->
<!-- no class "checkIfThisExists" -->
</div>
</div>
Я пробовал много вещей, таких как использование для х в у, если х, если х == Истина, если х не в у ... Но это не работает. В большинстве случаев он печатает список всех элементов.
Элементы с дополнительными элементами div и a всегда находятся в первых точках, и это зависит от того, сколько их там.
Вот мой код, так далеко.
import re
import requests
import bs4
from bs4 import BeautifulSoup
site = requests.get("insert url here")
soup = bs4.BeautifulSoup(site.text, "lxml")
foundExtraCode = soup.find_all('div', id=re.compile("^position\d+"))
После этого я пытаюсь точно указать, в каких элементах div я нуждаюсь, с помощью find и find_all.
Мне нужно:
-Найдите все элементы, отмеченные идентификатором positionXXXXX
-Проверьте каждый из них, проверьте, есть ли у них class = "checkIfThisExists"
-Если он есть, пропустите его
-Если у них нет этого, напечатайте содержимое class = "printThis"
Также я добавлю это позже, но сканирование элементов должно быть выполнено через многопоточность каждые X времени. Если у вас есть свободное время, пожалуйста, ударь меня тоже. Я должен был go спать 4 часа go. Увидим ответы утром.
Спасибо за ваше время.