Второй парсер проработал в продакшне ни много ни мало до февраля месяца. В феврале админы целевого ресурса прикрутили антибота, который вычислял бота за пять запросов. Но я об этом не знал, т.к. заказчику не было до этого дела. Только сейчас он вышел на связь. Тем временем, отпустив второй парсер...
- Возник сайд-проект "длиною в два месяца".
- Попутно я понял, что часть кода парсера второго надо копипастить в третий. И провёл ряд работ по отделению парсинга от бота.
- Вырисовываемая структура напомнила API для полноценного ETL-framework.
- Закладку про ETL оставил, но сначала надо было закончить сайд-проект. Не всё сразу.
- К концу года сайд-проект следовало финализировать, переходя от прототипа к работающей бизнес-функции по получению инфы благодаря боту и парсеру.
- И тут открытие: оказывается, другой целевой ресурс держался в лапах всё той же фирмы (об этом я узнаю вскоре). Всё, что работало декабрь, январь и февраль и шлифовалось до продакшна - умерло. Антибот!!
- Впоследствии я взял паузу и переключил силы на основную работу, возникла потребность в компании отправить меня в многочисленные командировки в Швейцарию.
- И вот недавно возобновил работу.
- За это время компаньон напилил ДО ЖУТИ контента для сайд-проекта.
- Под этот контент надо по-быстрому воткнуть миграционный тул. Там всё прозрачно, на вход архив, принимаем, распаковываем, меняем кодировку с CP1251 на UTF8, парсим контент, грузим в предзаготовленные таблицы.
- Ну и в довершение - эмуляция браузера - война с антиботом.
На выходе информационно-рекомендательный ресурс с платными фичами для своей ЦА. Кусок ETL фреймворка, под который нужен движок. Причём тут уже башню рвёт. Последние три-четыре года занимаюсь ETL задачами и вижу, как процесс решения той или иной задачи (т.е. написания кода с использованием ETL Framework) можно ускорить многократно. Т.е. движок может быть просто огненным. Но надо держать себя в руках и пустить-таки ресурс, GO LIVE.