Четыре дня на скрейпер вакансий — и вот он собирает 1939 IT-позиций за 8 минут, стоит 13 центов за запуск и не падает. Звучит как очередная история успеха? Нет, честнее сказать: это история про то, зачем вообще автоматизировать рутину, даже если время не окупается буквально.
Зачем это делать, если не окупается?
Автор проекта вручную проверял LinkedIn и государственный портал вакансий каждую неделю. Двадцать-тридцать минут на одно погружение. Повторяющееся, выматывающее, легко забыть. Поэтому он собрал скрейпер, который делает всё сам. Результаты — в цифрах выше.
«Я бы сделал это снова, даже если бы сэкономленное время никогда не догнало время, потраченное на разработку», — говорит автор. Это и есть главный аргумент. Дело не в минутах, а в том, что мозг освобождается от задачи. Не нужно помнить, не нужно заставлять себя.
Что внутри: архитектура скрейпера
Выбор пал на связку Apify, Playwright и Node.js. Не потому что модно, а потому что надёжно. Архитектура разбита на модульные обработчики для каждого сайта: LinkedIn, MyCareersFuture и другие. Один оркестратор проходит по связке «сайты × ключевые слова × страницы». Обработка ошибок без «тихих» падений. Прокси ротирует Apify. Всё запускается в облаке, а не на ноутбуке.
Модульность — ключ. Чтобы добавить новый сайт, нужно около 50 строк кода по одному и тому же шаблону. Это не разовая поделка, а база для расширения.
Скрипт или система: в чём разница
| Критерий | Простой скрипт | Система |
|---|---|---|
| Цель | сделать один раз | работает без участия |
| Надёжность | может упасть молча | обработка ошибок, повторные попытки |
| Изменения | править код под каждый сайт | модульные обработчики, добавить сайт = ~50 строк |
| Время жизни | вчера работало, сегодня нет | стабильно |
Почему 70% времени ушло не на код
Самое сложное — не «достать данные», а сделать так, чтобы это работало потом. Селекторы меняются, страницы бывают пустыми, сеть отваливается. Отладка, прокси, краевые случаи — вот где живёт настоящая работа. Сам код скрейпинга — процентов 30. Остальное — доводка до production-grade. Разница между скриптом и системой — в этом.
Что бы я сделал иначе
Если бы я начинал заново, первым делом определил бы, как должны выглядеть результаты. Архитектура до понимания выхода — это путь к лишним итерациям. Тестирование с реальными прокси тоже стоило начать раньше: ротация ломалась в самый неподходящий момент. И да, документация — только живьём, ретроспективно её писать мучительно.
Что получилось хорошо
Правильные решения оказались простыми: модульная структура с первого дня, без ретрофита; и обработка ошибок, которая реально работает, а не просто try/catch для галочки. Плюс принцип «сначала работающий прототип, потом README». Доказать, что скрейпер собирает 1939 вакансий, а потом уже украшать.
Советы для тех, кто хочет автоматизировать
- Не всякая задача требует ИИ. Обычный код побеждает хайп, если он просто работает.
- Стройте на надёжность, а не на скорость. Скрейпер, который запустился 100 раз и один раз упал, хуже того, что отработал 10 раз идеально.
- Открытый код — доверие, платный хостинг — ценность. Код можно выкладывать в открытый доступ, а зарабатывать на обслуживании.
- Не спрашивайте, окупается ли время. Если мозг освободился — уже окупилось.
Вывод
Собрать инструмент, которым пользуешься сам, — это проверка на прочность. Ты решаешь реальные, а не выдуманные проблемы. И не важно, что за четыре дня можно было бы сэкономить лишь двадцать минут в неделю. Важно, что этих двадцати минут больше не существует.
Комментарии (0)
Войдите, чтобы комментировать.
Пока нет комментариев. Будьте первым.