Проверка котировок акций с помощью Python и Twilio SMS

Автор: | 03.08.2026

В фильме «Уолл-стрит» одна из граней главного героя Гордона Гекко, которую фильм, к сожалению, не раскрывает, — это его любовь к природе. Да, он обожает ходить в походы. Неожиданно, правда?

Гордону никогда не удастся получить стабильное подключение к интернету вдали от цивилизации, но с помощью Python и Twilio SMS он всё равно сможет проверять котировки акций, имея всего пару полосок сигнала. Давайте разберёмся, как это сделать.

Для этого простого приложения вам понадобится аккаунт Twilio и среда разработки на Python. Если вы новичок в Python, её легко настроить — просто зарегистрируйтесь для бесплатной пробной версии.

Начните с открытия терминала или командной строки и создайте новое виртуальное окружение с именем ‘twilio-ticker’:

Активируйте виртуальное окружение:

Отлично, теперь давайте перейдём к коду. Создайте новый файл с именем `app.py`, откройте его в любимом редакторе кода и импортируйте зависимости, которые мы только что установили:

Теперь добавьте код для создания и запуска нового приложения Flask:

Далее определите новый маршрут, который Twilio сможет запрашивать через HTTP POST при получении входящего SMS-сообщения. Этот маршрут создаёт ответ, содержащий TwiML-глагол , который указывает Twilio отправить SMS-ответ обратно отправителю.

Это хороший момент, чтобы убедиться, что основы нашего приложения настроены правильно. Запустите приложение, выполнив команду:

Приложение запустится и откроет маршрут `sms` по адресу http://localhost:5000.

Отлично! Теперь, когда маршрут генерирует TwiML, давайте изменим его, чтобы пользователь мог запросить цену конкретной акции, отправив SMS с её тикером.

Начните с получения текста входящего SMS-сообщения, который Twilio передаёт в HTTP-запросе как параметр формы `Body`. Используя этот тикер, сформируйте URL для API Yahoo Finance, чтобы получить информацию о котировке:

С помощью библиотеки requests выполните HTTP GET-запрос к URL Yahoo. Из ответа извлеките цену и замените исходное TwiML-сообщение на новое, содержащее тикер и цену акции:

Перезапустите приложение и вернитесь в HTTP-клиент, чтобы снова отправить запрос на маршрут `sms`, на этот раз включив параметр формы `Body`.

Когда приложение запущено, последний шаг — подключить к нему Twilio-номер. Twilio использует HTTP-запрос к публичному URL, чтобы сообщить о получении входящего SMS. Мы можем сделать Python-приложение, работающее локально, доступным через публичный URL с помощью ngrok.

После запуска ngrok скопируйте назначенный публичный URL:

Затем перейдите в раздел «Phone Numbers» (Телефонные номера) в Twilio Console, чтобы выбрать существующий номер в вашем аккаунте или купить новый.

Настройте номер так, чтобы при получении входящего SMS Twilio отправлял HTTP-запрос (или «вебхук») на ваш ngrok URL:

Сохраните настройки номера и протестируйте приложение, отправив SMS с любимым тикером акции на ваш Twilio-номер.

Готово! Теперь вы можете получать информацию о котировках акций на телефон через простое SMS-сообщение.

Объединив несколько инструментов Python и Twilio, всего за несколько минут мы создали действительно полезное и удобное SMS-приложение. Но на этом веселье не заканчивается.

Приложение можно сделать ещё более функциональным, добавив возможность запрашивать цены нескольких акций или используя библиотеку очередей задач, такую как Celery, чтобы настроить SMS-уведомления при достижении акцией определённого ценового порога.

Дайте знать, что вы создаёте с помощью Python или Twilio. Напишите мне в Twitter @devinrader.