Найти в Дзене
Далее нам необходимо прописать весь код для корректной работы нашей программы. Весь код показан ниже: import requests # Модуль для обработки URL from bs4 import BeautifulSoup # Модуль для работы с HTML import time # Модуль для остановки программы import smtplib # Модуль для работы с почтой # Основной класс class Currency: # Ссылка на нужную страницу DOLLAR_RUB = 'https://www.google.com/search?sxsrf=ALeKk01NWm6viYijAo3HXYOEQUyDEDtFEw%3A1584716087546&source=hp&ei=N9l0XtDXHs716QTcuaXoAg&q=%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80+%D0%BA+%D1%80%D1%83%D0%B1%D0%BB%D1%8E&oq=%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80+&gs_l=psy-ab.3.0.35i39i70i258j0i131l4j0j0i131l4.3044.4178..5294...1.0..0.83.544.7......0....1..gws-wiz.......35i39.5QL6Ev1Kfk4' # Заголовки для передачи вместе с URL headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 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", "class": "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("Курс сильно вырос, может пора что-то делать?") self.send_mail() elif currency <= self.current_converted_price - self.difference: print("Курс сильно упал, может пора что-то делать?") self.send_mail() print("Сейчас курс: 1 доллар = " + str(currency)) time.sleep(3) # Засыпание программы на 3 секунды self.check_currency() # Отправка почты через SMTP def send_mail(self): server = smtplib.SMTP('smtp.gmail.com', 587) server.ehlo() server.starttls() server.ehlo() server.login('ВАША ПОЧТА', 'ПАРОЛЬ') subject = 'Currency mail' body = 'Currency has been changed!' message = f'Subject: {subject}\n{body}' server.sendmail( 'От кого', 'Кому', message ) server.quit() # Создание объекта и вызов метода currency = Currency() currency.check_currency()
1 год назад
Курс валют постоянно находиться в нестабильном состоянии. Отслеживать его вручную не так удобно, поэтому предлагаем создать программу на Питон для автоматического трекинга. Наша программа будет работать по следующему алгоритму: 1) Парсим (копируем) данные из страницы поисковой выдачи Google; 2) Проверяем изменения курса с момента запуска программы; 3) Отправляем письмо на электронную почту при сильном Первое с чем стоит определиться, так это откуда брать курсы валют. Честно говоря, то не вижу смысла платить за какой-либо API, когда можно скопировать спарсить данные прямиком с поисковой выдачи Google или если хотите с других сайтов, которые предоставляют схожий функционал. Таких данных нам вполне хватит, ведь всё равно вряд ли какой-либо API будет предоставлять ещё более точную информацию в отличии от Google. Первое что необходимо сделать - это установить всё необходимое. Нам потребуется установить Python с официального сайта, скачать IDE, можно использовать PyCharm и далее создать внутри программы новый проект. Внутри созданного проекта создаем новый файл с названием main.py. После этого сразу же через терминал выполняем установку библиотек: requests, а также beautiful soup. pip install requests bs4 Библиотека requests позволяет обращаться к необходимому сайту и копировать всю его HTML разметку. Внутри HTML разметки выбрать нужные данные очень сложно, если использовать стандартные функции Python по типу: replace, join и прочих. Поэтому мы используем вторую библиотеку beautiful soup для быстрой и комфортной выборки необходимых данных из HTML.
1 год назад
ООП на Python: концепции, принципы и примеры реализации
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто. Объектно-ориентированная парадигма имеет несколько принципов: Если вам интересно, что думает об этой концепции сам ее создатель Алан Кэй, загляните сюда. Язык Python – типичный представитель ООП-семейства, обладающий элегантной и мощной объектной моделью. В этом языке от объектов никуда не спрятаться (ведь даже числа являются ими), поэтому давайте разбираться, как это все реализовано...
1 год назад
Преимущества и недостатки Python
Сегодня почти вся наша жизнь переходит в онлайн: мы делаем покупки, учимся, работаем и развлекаемся в интернете. Поэтому в современном мире всё более востребованными становятся IT-специалисты, которые зачастую знают несколько языков программирования. В этой статье мы с вами поговорим о Python — самом востребованном языке в 2024 году, — разберемся в преимуществах и недостатках Python, сферах его применения, а также проведем сравнение с другими языками программирования. Что такое Python Python — язык программирования общего назначения, который используют во многих областях IT-индустрии...
1 год назад
Файлы в python, ввод-вывод
Эта статья посвящена работе с файлами (вводу/выводу) в Python: открытие, чтение, запись, закрытие и другие операции. Файлы Python Файл — это всего лишь набор данных, сохраненный в виде последовательности битов на компьютере. Информация хранится в куче данных (структура данных) и имеет название «имя файла» (filename). В Python существует два типа файлов: Текстовые файлы Это файлы с человекочитаемым содержимым. В них хранятся последовательности символов, которые понимает человек. Блокнот и другие стандартные редакторы умеют читать и редактировать этот тип файлов...
1 год назад
10 примеров для изучения модуля JSON в Python
SON, что означает JavaScript Object Notation (нотация объектов JavaScript), является часто используемым форматом файлов (или данных). Созданный на основе JavaScript, JSON не зависит от языка: большинство языков программирования имеют парсеры для работы с файлами JSON. JSON можно рассматривать как коллекцию пар ключ-значение, как и словарь в Python. Вот простой файл JSON: {"name": "Jane", "age": 28, "city": "Houston"} Приведенный выше код  —  наглядный пример того, что JSON является человекочитаемым: вы можете прочитать JSON-файл и понять, какие данные он содержит...
1 год назад
Python 4.0: программирование нового поколения
Python, один из самых популярных языков программирования в мире, скоро претерпит значительные изменения с выходом Python 4.0. Это долгожданное обновление обещает представить существенные улучшения, новые функции и расширенные возможности, делая Python еще более мощным и универсальным, чем когда-либо прежде. Рассмотрим интересные нововведения в Python 4.0 и обсудим, как они определят следующее поколение программирования на Python. 1. Улучшение производительности Улучшение производительности Python 4...
1 год назад