BeautifulSoup как спарсить элементы внутри блока?
Ситуация следующая. Есть повторяющие span с класами unit unit_temperature_c и unit unit_temperature_f в которых находяться температуры на разные дни. И есть один блок в котором находяться те же спаны которые отвечают за температуру на даный момент что мне и нужно спарсить. Но... как заставить спарсить отдельно температуру по цельсию и отдельно по фаренгейту?
temperatura = soup.find('div', class_='now-weather').text
<div class="now-weather">
<span class="unit unit_temperature_c">
<span class="sign">+</span>19
<span class="lower">,4</span>
</span>
<span class="unit unit_temperature_f">
<span class="sign"></span>
67</span>
</div>
Ответы (1 шт):
Автор решения: Typeoflife
→ Ссылка
Если я верно понял задачу, то нужно использовать метод find_all в нужном блоке и дальше искать нужные теги.
temperature_all = soup.find_all('div', class_='now-weather')
for temperature in temperature_all:
temp_c = soup.find('span', class_='unit unit_temperature_c')
temp_f = soup.find('span', class_='unit unit_temperature_f')
print(f'Температура в цельсиях: {temp_c.text}')
print(f'Температура по фаренгейту: {temp_f.text}')