Данный скрипт используется для автоматического поиска ответов тестов Экзамера путём перебора вопросов по этой теме с аккаунта преподавателя. Для использования необходимо сделать насколько подготовительных шагов
Данный скрипт написан на 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('example@example.com', '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('example@example.com', 'password', is_async=False)
В этом случае запросы на поиск ответов будут выполняться последовательно, что замедлит работу скрипта.