Skip to content

🔓🎓 Скрипт для получения ответов на тесты с Examer

Notifications You must be signed in to change notification settings

Kiruha01/examer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Скрипт для поиска ответов тестов Examer

Данный скрипт используется для автоматического поиска ответов тестов Экзамера путём перебора вопросов по этой теме с аккаунта преподавателя. Для использования необходимо сделать насколько подготовительных шагов

Подготовка

Установка Python

Данный скрипт написан на python, поэтому скачиваем последнюю версию с сайта. Следуем инструкциям для вашей ОС.

Установка зависимостей

Теперь необходимо установить требуемые библиотеки. В папке репозитория находится файл requirements.txt. Открываем коммандную строку или терминал этой папке и вводим

$ pip install -r requirements.txt

Регистрация учителя

Регистрируем аккаунт на examer и после регистрации выбираем опцию "Я учитель".

Простой пример

В файле script.py вставляем логин и пароль от только что созданного аккаунта нашего преподавателя:

# =======================================

EMAIL = 'TYPE YOUR E-MAIL'
PASSWORD = 'TYPE YOUR PASSWORD'

# =======================================

Далее сохраняем файл и запускаем командой

$ python script.py

Нас попросят ввести ссылку на тест. Вставляем её и через некоторое время в папке появится файл с ответами answers.txt.

Использование

Вход в аккаунт

from examer import Examer

ex = Examer('[email protected]', 'password')

В случае ошибки поднимаются исключения:

  • ExamerException.LoginError - неопознанная ошибка регистрации.
  • ExamerException.EmailPasswordError - неверный логин или пароль.
  • ExamerException.SignError - Ошибка генерации запроса регистрации (неверные куки, подпись запроса и прочее)
  • ExamerException.TeacherError - Данный пользователь не является учителем

Получение теста с ответами

link = "https://t.examer.ru/f9afa"
test = ex.get_test(link)

В случае ошибки поднимаются исключения:

  • ExamerException.GettingTestError - ошибка получения теста. Осноная причина - неверныая ссылка на тест

Работа с тестом

# Тема теста
test.theme
# Возможное число баллов за тест
test.score
# Примерное время на выполнение теста
test.avg_time

for task in test.get_tasks():
    # Текст вопроса
    task.question
    # Правильный ответ
    task.answer
    # Баллов за вопрос
    task.difficult

Отключение асинхронного режима

Если по какой-то причине, вам не нужен асинхронный режим, используйте следующий код:

ex = Examer('[email protected]', 'password', is_async=False)

В этом случае запросы на поиск ответов будут выполняться последовательно, что замедлит работу скрипта.