#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. Ваш вопрос неясен. Попробуйте переформатировать вопрос и указать, что именно вы хотите сделать, каковы входные данные и каков соответствующий желаемый результат.