Необходимо получить текст между содержащимися в классе

#python-3.x #beautifulsoup

#python-3.x #beautifulsoup

Вопрос:

Мне нужно захватить текст из каждого из них до конца сопоставления.. Этот заголовок будет меняться много раз в html. Я могу захватить все данные, но есть ли лучший способ сделать это?

 <div class="box">
    <a class="visual" href="https://www.example.com">
        <img src="https://www.example.com/img.jpg" alt="image description">
        <h2>Ventura</h2>
    </a>
    <div class="status-row">
        <div class="service">
            <span class="icon nowork"></span> No work                                   
        </div>
        <div class="work">
            <div class="number">0</div> Planned Work
        </div>
    </div>
</div>

    <div class="box">
    <a class="visual" href="https://www.example.com">
        <img src="https://www.example.com/img.jpg" alt="image description">
        <h2>Boston</h2>
    </a>
    <div class="status-row">
        <div class="service">
            <span class="icon disruption"></span> Disruptions                                   
        </div>
        <div class="no-work">
            <div class="number">0</div> No Work
        </div>
    </div>
</div>

    page = requests.get(url,verify=False)
soup = BeautifulSoup(page.text, 'html.parser')

s = 'Ventura'

for x in soup.findAll("div",  {"class": ["box", "status-row"]}):
    z = x.get_text()
    if  s in z.strip():
        print(z)
  

Есть ли лучший способ сделать это?

Комментарии:

1. Какие именно данные вы хотите извлечь из этого примера?

2. Заголовок — для каждого элемента будет другой заголовок Нет работы — это может измениться в зависимости от погодных условий Запланированная работа — это может измениться в зависимости от погодных условий

3. захват текста из каждого из них до конца сопоставления — что это значит?

4. Можете ли вы опубликовать еще несколько div, а также указать ожидаемый результат, который вы хотите получить в своем сообщении, который поможет определить OP, чтобы узнать, что вам нужно

5. Ваш вопрос неясен. Попробуйте переформатировать вопрос и указать, что именно вы хотите сделать, каковы входные данные и каков соответствующий желаемый результат.