Как запарсить нужный класс если он дублируется. Python

Рейтинг: 1Ответов: 1Опубликовано: 27.02.2023

Есть сайт с погодой, хочу запарсить определенный класс, но их несколько. Как обратиться к нужному?

Вот что у меня сейчас:

for temp in soup.find_all('span', class_ = 'unit unit_temperature_c'):
    temp = temp.text

Вот сам сайт:

<div class="now-weather">
  <span class="unit unit_temperature_c">
    <span class="sign">**−**</span>
    **"3"**
  </span>

  <div class="now-feel">**По ощущению**>
    <span class="unit unit_temperature_c">
      <span class="sign">**−**</span>
      ***6***
    </span>

Ответы

▲ 2Принят

Классов unit_temperature_c несколько, но у каждого есть тег выше с особенным классом: now-weather и now-feel

Пример:

...

print(
    soup.select_one('.now-weather > .unit_temperature_c').get_text(strip=True)
)
# **−****"3"**

print(
    soup.select_one('.now-feel > .unit_temperature_c').get_text(strip=True)
)
# **−*****6***

PS.

Метод select_one с css-селектором через find можно так повторить:

print(
    soup.find(class_='now-weather').find(class_='unit_temperature_c').get_text(strip=True)
)
# **−****"3"**