тупик
Сейчас это работает (не работает) примерно так:
Функция, выводящая этап исходя из адреса страницы (например, вошел на сайт, ошибка входа, вылезла капча, перешел по нужной ссылке итд)
Также объект, где каждый ключ это название этапа и соответствующее значение - это его обработчик
А также главная функция парсера, внутри которой содержится переменная с ответом на запрос, и цикл, который 1. проверяет текущий этап 2. присваивает переменной результат соответствующего обработчика
Думаю, непонятно объяснил, приведу пример
Происходит первый запрос. Результат - главная страница сайта. getStage(response.url) вернул 'mainPage' и вызывается соответствующий обработчик.
handlers.mainPage отправляет форму с логином и возвращает ответ.
теперь response = await handlers.mainPage(axios_instance)
проверяет заново
теперь getStage(response.url) = 'loggedIn'
вызывается соответствующий обработчик и т.д.
но проблема в том, как из такого цикла выходить? как вернуть или результат парсинга (вместо результата запроса) (точнее, вернуть, естественно, можно, но как обозначить, что это ответ, а не результат запроса) или ошибку (например неверный пароль)?
или как вообще по другому устроить такой парсер?
по какой логике алгоритм должен завершить свое действие? вернее когда
Обсуждают сегодня