Разработка сайтов и приложений на Python

Разработка сайтов и приложений на Python

10 марта 2021

Python был создан в 1991 году с использованием элементов языка ABC для распределенной операционной системы Amoeba. Сегодня многие сайты написаны на Python, самые популярные из них — Youtube и Instagram. Ввиду распространенности языка доработка и сопровождение веб-сайтов на Python требуются часто.

Название языка произошло от британского телешоу 70-х годов «Летающий цирк Монти Пайтона». Создатель Python — нидерландский разработчик Гвидо ван Россум — продолжает активно участвовать в развитии языка. Обновленные версии выпускаются каждые 2–3 года.

Синтаксис Python минималистичен, интерпретатор Python поддерживает практически все платформы и ОС. Язык применяется и в качестве основного языка разработки, и для разработки прототипов будущих программ. Иногда Python используют при создании расширений и для интеграции приложений.

Ezotericum

Оказание эзотерических услуг

Веб-сайт для оказания эзотерических услуг позволяет экспертам предоставлять, а пользователям получать сервис онлайн, используя видеочат. Абоненты могут общаться со специалистами в публичном и приватном чате, получать письменные разъяснения, обмениваться личными сообщениями с консультантами. Эксперт может создавать видеочат, просматривать статистику консультаций, письменных услуг и причитающихся выплат, осуществлять доступ к списку клиентов. Административный интерфейс позволяет управлять почтовыми рассылками, новостями, пользовательской информацией, просматривать статистику услуг.

LEAD-R

Доработка рекламной CPA-сети

Рекламная сеть с функцией оплаты за совершенные действия (CPA или PPA). Система рассчитана на доступ сотен рекламодателей и вебмастеров, а также постоянную обработку нескольких тысяч запросов пользователей.

  • Фронтенд-приложение, через которое пользователи попадают в личный кабинет и настраивают профиль, оффера, площадки и размещений, запрашивают вывод средств. Весь фронтенд делится на три части.
    • Кабинет администратора. Предоставляет возможность по подтверждению офферов и площадок, их редактированию и удалению. Также через кабинет администратора можно зайти как вебмастер или рекламодатель.
    • Кабинет рекламодателя. Предоставляет возможность создавать и редактировать офферы. Рекламодатель должен установить пиксель на своем сайте для подтверждения конверсии.
    • Кабинет вебмастера. Предоставляет возможность создания и редактирования площадок. На каждую площадку вебмастер может разместить рекламу, получить ссылку и баннеры, которые потом может добавить на свой сайт для рекламирования оффера. За каждый переход пользователя Интернета по пикселю или ссылке рекламодатель получает вознаграждение, указанное в описании оффера.
  • Бэкенд-приложение, которое взаимодействует с базой, обрабатывает запросы от фронфронтенда и запросы, направленные на добавление конверсий.
LEAD-R

НОВаТур

Поиск отелей, вилл, апартаментов, экскурсий

Разработка веб-сайта для поиска отелей, вилл, апартаментов, экскурсий, круизов и транспорта. На ресурсе размещены новости, статьи, описания стран и городов. Реализован парсер для поиска и загрузки размещений с Booking. При парсинге копируется:

  • название, адрес апартаментов;
  • координаты на карте;
  • информация по номерам и ценам;
  • условия бронирования и требования к клиентам;
  • «звездная» классификация отеля.

АТИ

Торг с целью закупки по минимальной цене

Веб-приложение для проведения торгов, где поставщики предлагают низкую цену за свой товар, увеличивая вероятность заключения договора на поставку. Разработано для компании «АТИ», основанной более 20 лет назад и лидирующей на рынке запчастей для грузовиков, прицепов, автобусов и легковых автомобилей иностранных и российских марок.

Поставщик и менеджер торгуются в личных кабинетах.

  • «Кабинет поставщика» — закрытая часть сайта, где поставщик может указывать или изменять свою цену на товар. При этом меняется статус участия в заявке. Использование фильтра «Бренд» позволяет быстро сортировать заявки с нужными товарами. По итогам торгового дня формируется отчет о выигранных конкурсах в формате XLS.
  • «Кабинет менеджера» — оснастка, где менеджер АТИ управляет заявками, например, проверяет корректность данных, изменяет цену, количество или срок поставки, а также взаимодействует с поставщиками. Добавление заявок возможно как в ручном, так и в автоматическом режимах, с помощью импорта.

Реализована интеграция с 1С, что позволило автоматизировать процессы:

  • импорта данных по новым заявкам;
  • оформления электронных документов;
  • получения отчетов.

Парсер ставок

Максимизация прибыли игрока на Scrapy

Веб-приложение для парсинга ставок на спортивные события по определенным видам спорта с сайтов нескольких букмекерских контор и для расчета возможности ставки по предоставленному алгоритму. Реализован механизм ручного заполнения списка сопоставлений турниров и команд у различных букмекеров, что позволяет в дальнейшем связывать события у разных букмекеров воедино.

Poker

Нейронная сеть на PyPokerEngine

Создание нейронной сети для успешной игры в популярнейший вид покера — техасский холдем (Texas hold'em) на длинной дистанции. В ходе разработки был использован и доработан движок PyPokerEngine для обучения нейронной сети и сбора статистики по играм с алгоритмом, предоставленным заказчиком. Использована математическая библиотека Numpy, библиотека манипулирования таблицами и временными рядами Pandas.

Обучение нейронной сети проводилось с использованием Deep reinforcement learning — обучения с подкреплением. Нейронная сеть обучалась на играх с реализованным алгоритмом соперника и на играх с копией себя. В процессе обучения нейронная сеть при принятии решений основывается на истории игр, в качестве подкрепления использует результат партии с учетом всех этапов партии.

Был реализован механизм сбора логов для последующего анализа результата игры бота с помощью приложения Hand2Note.

Чита сейчас

Аудит и доработка городского портала

Владельцы портала города Читы захотели полностью переписать код. Мы провели аудит и пришли к выводу о том, что рациональнее исправить имеющийся код. Наши специалисты перенесли портал на новый сервер, доработали внешнее оформление, дополнили отображение ленты событий. Расширен личный кабинет организаций, добавлена регистрация через социальные сети, отлажена продажа билетов, подключены «Городские зрелищные кассы».

GetRealPrice

Мониторинг цен на товары в магазинах конкурентов

Техническая поддержка и доработка сервиса, который анализирует около 200 Интернет-магазинов, продающих электронику и бытовую технику, детские и спортивные товары, стройматериалы, книги, одежду, ювелирные изделия. Среди анализируемых — известные Интернет-магазины, насчитывающие более миллиона позиций.

Сопоставление товаров с разных сайтов осуществляется автоматически посредством морфологического анализа, а также вручную посредством действий операторов. При сравнении цен учитываются валюта и единица измерения.

GetRealPrice анализ магазинов
GetRealPrice просмотр товара
GetRealPrice график различия цен
В личном кабинете в виде графиков предоставляется сравнительный анализ цен перечня магазинов. Также возможно загрузить корзину товаров, по которым необходим мониторинг цен конкурентов. По каждой позиции формируется история цен, доступная в виде графика на карточке товара.
GetRealPrice диаграмма дешевизны
GetRealPrice таблица сравнения цен
Результаты сравнения цен сводятся в таблицу, а по требованию клиента предоставляются типовые и специализированные отчеты в форматах CSV, XLSX, XML.

Банки

Сайт банковского сервиса

Разработка новой версии сайта. Банки экономят на SMS-уведомлениях. Клиенты банков получают персонального менеджера с возможностью в реальном времени видеть остатки на счетах и вкладах, кредитные операции. Сайт представлен обычной модификацией, вариантом для смартфонов и адаптацией для HD-разрешения. В целях международного продвижения проекта подготовлена англоязычная версия ресурса. Проведен аудит сайта на предмет производительности с сопутствующими исправлениями. Проведена поисковая оптимизация (SEO) сайта с учетом замечаний IIS SEO Toolkit.