ticker_list = {'gazp': 'GAZP.ME',
'sber': 'SBER.ME',
'tatn': 'TATN.ME',
'moex': 'MOEX.ME',
'rosn': 'ROSN.ME',
'lkoh': 'LKOH.ME',
'yndx': 'YNDX.ME',
'nlmk': 'NLMK.ME',
'alrs': 'ALRS.ME',
'rual': 'RUAL.ME',
'magn': 'MAGN.ME'}Захотелось реализовать несколько идей для быстрого расчета по позициям акций и для этого мне нужно было чтобы скрипт на python постоянно получал обновленное значение цены. Например раз в три секунды. Искал решение и нашел похожий пример с парсингом любой информации в интернете на python с применением блиотек requests и beautiful soup, (bs4).




Скачать ее можно по адресу: drive.google.com/drive/folders/1SnxKojpiXD2or6begSZTkzDyDoCBla_d?usp=sharing. Т.к. компиляция производилась при помощи pyinstaller, то, скорее всего винда пожалуется на exe-шник (решение проблемы нетрудно гуглится), поэтому, и потому что люди могут сидеть не из под винды, в папке с exe-шником лежит питонячий проект. Замечание: Если хотите скачать только exe-шник, то не забудьте скачать db.json и поместить его в ту же директорию, иначе программа не запустится!
Программа качает котировки в csv файл (считайте аналог Финама) с разделителем ";".
Некоторые замечания по разработке: Изначально планировалось что все разделы (Торговая система, Рынок и т.д.) будут парсится с API, такая идея даже была осуществлена, но показала свою неэффективность, поэтому в настоящей версии парсится только период времени для которого возможно скачивание, а остальные данные берутся из db.json, которую вы можте сами дополнить (если понадабится).
При возникновении проблем связанных с интернетом (его отсутствие, отказ сервера и т.д.) в окошках «Начало периода» и «Конец периода» будут стоять даты 01.01.0001.
По любым вопросам можете писать в коментарии или ЛС. Всем добра!
Если хотите поддержать автора: Сбер — 4817 7602 2175 5865 (Емельянов Иван Д.)

# подключаем либы
from loguru import logger
from notifiers.logging import NotificationHandler
# прописываем параметры телеграм бота, от чьего имени и куда слать, где их взять думаю сами разберетесь
params = {
'token': 'dfdfsfasdfljsahdfkljhasdfklj',
'chat_id': 'dfkdsflksdjfls;kfjas;ldkf'
}
tg_handler = NotificationHandler("telegram", defaults=params)
# добавляем в logger правило, что все логи уровня info и выше отсылаются в телегу
logger.add(tg_handler, level="INFO")logger.info("Слава роботам! Убить всех человеков!")