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("Слава роботам! Убить всех человеков!")