import requests # Модуль для обработки URL
from bs4 import BeautifulSoup # Модуль для работы с HTML
import time # Модуль для остановки программы
# Основной класс
class currency:
# Ссылка на нужную страницу
DOLLAR_RUB = 'https://www.google.com/search?q=%D0%BA%D1%83%D1%80%D1%81+%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80%D0%B0&rlz=1C1GGRV_enRU923RU923&ei=L0iNYMuIOaGvrgSfqKuYDw&oq=%D0%BA%D1%83&gs_lcp=Cgdnd3Mtd2l6EAEYATIKCAAQsQMQgwEQQzIKCAAQsQMQgwEQQzIECAAQQzIHCAAQsQMQQzIICAAQsQMQgwEyBQgAELEDMgQIABBDMgQIABBDMggIABCxAxCDATIICC4QsQMQgwE6AggAUJaVD1jOlQ9g9qAPaAJwAngAgAFuiAHCApIBAzAuM5gBAKABAaoBB2d3cy13aXqwAQDAAQE&sclient=gws-wiz'
# Заголовок для передачи вместе с URL
headers = {'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'}
current_converted_price = 0
difference = 5 # Разница после которой будет отправлено сообщение на почту
def _init_(self):
# Установка курса валюты при создании обьекта
self.current_converted_price = float(self.get_currency_price().replace(",", "."))
# Метод для получения курса валюты
def get_currency_price(self):
# Парсим всю страницу
full_page = requests.get(self.DOLLAR_RUB, headers=self.headers)
# Разбираем через BeautifulSoup
soup = BeautifulSoup(full_page.content, 'html.parser')
# Получаем нужное для нас значение и возвращаем его
convert = soup.findALL("span", {"class": "DFlfde SwHCTb", "data-precision": 2})
return convert[0].text
# Проверка изменения валюты
def check_currency(self):
currency = float(self.get_currency_price().replace(",", "."))
if currency >= self.current_converted_price + self.difference:
print("Курс сильно вырос, нелезь, она тебя сожрет")
elif currency <= self.current_converted_price - self.difference:
print("Курс сильно упал, делай грязь бро")
print("Сейчас курс: 1 доллар = " + str(currency))
time.sleep(3) # Засыпание программы на 3 секунды
self.check_currency()
# Создание обьекта и вызов метода
Currency = Currency()
currency.check_currency()