Бот поиска заявлений абитуриентов по СНИЛС

id вакансии абитуриента, на который мы будем устанавливать оригинал Начиная с 6 го столбца должны быть параметры (не более 20 штук), по которым будет строиться список.

Сначала сортировка по первому параметру по убыванию, потом по второму и т.д.

Все параметры ВСЕГДА сортируются по УБЫВАНИЮ вне зависимости от sql-запроса Сортировка sql запроса должна быть сначала по 1 му столбцу (id абитуриента), потом по 4 му (Номер приоритета в порядке возрастания).

Работа программы занимает не более 2х секунд с параллельными вычислениями и не более 4х с последовательными. Это при объёме всех абитуриентов высшего образования с оригиналами (5178 абитуриентов и 17878 у них вакансий).

Количество обходов всех абитуриентов при параллельном вычислении может изменяться (в нашем случае получалось 6–10), но на качество полученных данных это не влияет

А теперь сама история (и собственно заголовок статьи об этом говорит)

Т.к. уже несколько лет списки поступающих строятся по СНИЛСам, а СНИЛС уникален, то можно легко найти куда ещё подавал документы абитуриент, и подсчитать для него шансы на поступление.

Поэтому я создал бота, который получает данные с сайтов ведущих вузов Нижнего Новгорода. Почему именно НН? ответ, думаю, очевиден :) хотелось бы, конечно, добавить все ведущие вузы страны, но это очень трудозатратно без помощи самих вузов, либо энтузиастов-программистов.

Сложности заключаются в том, что не во всех вузах информацию о местах на плане набора можно найти с помощью парсинга, сайты вузов все разные (кто-то в excel делает, кто-то прямо на сайте html какой-нибудь). Парсинг каждого сайта это время, а приёмная комиссия работает всего пару месяцев.

Все данные берутся из открытых источников с сайтов вузов (никакой обработки ПД не производится), затем парсятся и заносятся в БД. Потом происходит сортировка списков с помощью вышеизложенного алгоритма. Таким образом получаются конкурсные списки поступающих (без участия вузов). Да, при таком подходе возможны ошибки, но их вероятность достаточно мала

Итак, сам бот:

https://t.me/allabitsbot

Туда вводится СНИЛС поступающего и выдаётся необходимая информация. Можно ввести команду /test и проверить работу бота

d1b61bd32d043a4e01a11767a5cc6401.png

Если есть желающие помочь проекту в части получения информации с помощью получения данных с сайтов — welcome

© Habrahabr.ru