Одному боту известно: как простейший софт помогает абитуриентам поступить
Cейчас каждый выпускник 11-го класса, мечтающий поступить на бюджет, имеет право подать документы в пять вузов на пять специальностей в каждом из них. Поступают в вузы по результатам ЕГЭ, и проходной балл ежегодно меняется в зависимости от того, с какими результатами пришли абитуриенты.
То есть имея, условно, 220 баллов по ЕГЭ и подав заявление на специальность с 10 бюджетными местами (без учета целевиков, олимпиадников и иных поступающих, кто идет вне конкурса), абитуриенту важно, чтобы балл выше 220 был лишь у девяти человек. Окончательно определиться с поступлением и подать документы вчерашние школьники могут в самом конце приемной кампании. До этого идет постоянное изменение списков претендентов на бюджетные места — подаются новые документы, проходной балл меняется, шансы на поступление растут или тают, абитуриенты меняют вузы и специальности, выбирая приоритетным то одно направление, то другое. И чтобы просчитать вероятность своего попадания на бюджет в то или иное учебное заведение, претенденты вынуждены постоянно мониторить изменения списков поступающих, которые публикуются на сайтах вузов. В последние дни приемной кампании списки могут обновляться каждые 15 минут. Как тут уследить?
Здесь будущим студентам на помощь приходит автоматизация, а именно бот, который постоянно проверяет (парсит) заветные списки и по номерам СНИЛС отслеживает то, как они изменились: куда переподали документы ребята с более высоким баллом ЕГЭ, как они изменили приоритеты в выборе того или иного направления. Другими словами, бот в автоматическом режиме просчитывает, как меняются шансы на поступление конкретного человека. Бот может мониторить списки как в пределах одного вуза, так и собирать информацию с различных ресурсов.
Написать бот для парсинга можно и самостоятельно. Чаще всего для этого используется язык программирования Python, который, кстати, проходят в школе. Рекомендации по созданию бота-парсера для поступления в вуз можно при желании найти в интернете. Даже на «Хабре» была опубликована подобная инструкция. А теперь немного цифр: в 2023 году ЕГЭ по информатике сдавали более 100 000 человек, около 650 000 подавали документы в вуз на специальности «Информационные технологии». Таким образом, количество выпускников 11-х классов, хорошо знающих школьную программу по предмету «Информатика» и потому чисто теоретически способных написать бота на Python, в стране немало.
Для гуманитария или склонного к естественным наукам выпускника самописный бот для парсинга может показаться нерешаемой задачей. Но таким абитуриентам на помощь приходят профессионалы. В интернете полно предложений готовых ботов (или пишущихся на заказ) для поступающих в вузы. Не могу судить о среднем уровне цен на этом рынке, но мне встречались предложения по написанию решения за 50 000 — 60 000 рублей под конкретного абитуриента. Вероятно, можно и бесплатного бота найти. Так что страдают от ботов не только технические вузы.
Почему страдают? Потому что высокая ботовая активность зачастую замедляет работу ресурса, и вузу приходится резервировать дополнительные мощности. Особенно это актуально в так называемые часы пик, когда нагрузка на ресурс может кратно вырасти. При недостатке в инфраструктуре вуза зарезервированных мощностей юные автоматизаторы могут незлонамеренно «залить» трафиком каналы связи или, что вероятнее, создать нагрузку, которая эти серверы намертво подвесит.
В то же время и абитуриентов понять можно: в том же МГТУ им. Баумана в 2024 году разрешили подавать документы на 24 специальности. Постоянно мониторить эти списки просто нереально. И получается несколько комичная ситуация — вчерашние школьники так рвутся в вуз, что учебным заведениям приходится оплачивать услуги кибербезопасников для защиты от ботовых атак абитуриентов.
У проблемы парсинга списков поступающих есть решение. Нагрузка на ресурс высшего учебного заведения напрямую связана с форматом, в котором он выкладывает списки абитуриентов. Например, сайт вуза может отдавать списки поступающих в стандартных текстовых форматах хранения и передачи структурированных данных (html, xml, json). Работа с подготовленными структурированными данными чрезвычайно удобна, для нее уже давно написаны и подготовлены стандартные библиотеки. А это означает, что с написанием кода для парсинга этих данных справится не только компьютерный гений-олимпиадник.
Вторая часть проблемы — если не установлено дополнительных ограничений, то каждый начинающий автоматизатор может запрашивать данные с серверов вуза так часто, как ему захочется. И если обычный студент руками обновит заветную страницу в последние дни приемной кампании не более 30 раз, то ботнет может запрашивать данные 30 раз в минуту и даже чаще. И делать это на протяжении нескольких суток. А если автоматизаторов будет несколько?
Другое дело, если списки поступающих выгружаются в pdf-формате. Во-первых, генерировать такой файл раз в 10-15 минут для вузовского сервера проблемы не составит, а отдавать один закешированный файл с точки зрения трафика не так уж и дорого. Во-вторых, ни скачивать, ни обновлять этот файл будущему мученику науки незачем, особенно если вуз не скрывает частоту обновления списков. В-третьих, достать данные из pdf-файла, разумеется, тоже можно. Это стандартная задача, и для нее есть готовые решения, но она существенно сложнее с точки зрения программного кода и более требовательна с точки зрения вычислительных ресурсов ботовода. Насколько мне известно, списки в pdf-формате выкладывает МГТУ им. Баумана, где, полагаю, их парсит каждый второй абитуриент.
Вместо заключения хотелось бы отметить, что массовый парсинг списков поступающих в вузы — это явление неоднозначное и многогранное, имеющее как отрицательные, так и положительные стороны. Минусы очевидны: на сайты вузов идет дополнительная нагрузка. И в этой сфере обитают наемные ботописцы, благодаря услугам которых преимущество при поступлении получают более состоятельные, а не более подготовленные студенты.
Но для поступающих в вуз будущих разработчиков ПО это вызов и, может быть, первая практическая многоходовая жизненная задача. А может быть, самописный бот — это только начало профессионального пути будущих борцов с DDoS-атаками и нелегитимной автоматизацией.
Мнение редакции может не совпадать с точкой зрения автора