BeautifulSoup не обновляет информацию

Я делаю бота в телеграм парсю сайт погоды с помощью BeautifulSoup.

def get_weather():
 response = requests.get(url, headers=headers)
 temperatura = soup.find('div', class_='now-weather').text.split()

И заметил что когда через время я хочу еще раз посмотреть погоду, то когда вызываеться функция погода не обновляеться а показывает старую температуру. Разве не должно оно при вызове функции по запросу get заходить на сайт и брать уже новую информацию с сайта. Если перезагружу бота то конечно оно тянет инфу, но опять же таки пройдет время и информация остаеться старая.


Ответы (1 шт):

Автор решения: CrazyElf
response = requests.get(url, headers=headers)
^^^^^^^^
temperatura = soup.find('div', class_='now-weather').text.split()
              ^^^^

Ответ с сайта вы получаете в переменной response, а данные о температуре получаете из soup. Эти две переменные вообще никак между собой не связаны. Вам нужно обновить soup, используя response. Видимо, вы это делаете где-то в другом месте вашего кода, а тут делать почему-то не стали.

Добавьте строку из вашего комментария между теми двумя строками:

response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'lxml') # <-- добавлено
temperatura = soup.find('div', class_='now-weather').text.split()
→ Ссылка