Одним из подходов может быть итерация по всем братьям и сестрам <p class="sort-num_votes-visible">
, и если вы найдете <span name="nv">
, окруженные <span class="text-muted">
и <span class="ghost">
, то это должен быть искомый промежуток. Это, конечно, подразумевает, что структура этого фрагмента HTML всегда одинакова. Если один из этих span
s может отсутствовать, то этот метод явно не работает.
Если гарантируется, что эти два пролета всегда есть, и в этом точном порядке вы могли бы сделать что-то вроде этого (ваш сложный HTML-код в html_soup
):
votes = html_soup.find("p", {"class": "sort-num_votes-visible").find_all("span", {"name": "nv"})[0]
EDIT:
Согласно вашему комментарию, вы можете сделать следующее для разбора голосов за несколько фильмов:
for p in html_soup.find("p", {"class": "sort-num_votes-visible"}):
votes = p.find_all("span", {"name": "nv"})[0]
< Put whatever code here for each of your movies
...
>