Когда автоматизация окупается
Главный критерий — время, которое уходит на задачу сейчас. Если сотрудник раз в неделю тратит час на сведение отчета, это больше пятидесяти часов в год. Скрипт за 20–30 тысяч окупается за несколько месяцев и дальше работает бесплатно.
- Окупается: задача повторяется регулярно, порядок действий одинаковый, данных много, ошибки из-за ручного ввода дорого обходятся
- Не окупается: делается раз в квартал за полчаса, каждый раз по-разному, требует экспертной оценки на каждом шаге
На первом разговоре считаем это честно. Если автоматизация не окупится, скажу прямо — делать скрипт ради скрипта смысла нет.
Типичные задачи
- Мониторинг цен. Регулярная проверка цен конкурентов или поставщиков с выгрузкой в таблицу и уведомлением об изменениях
- Сведение отчетов. Данные из рекламного кабинета, аналитики и CRM в одну таблицу без ручного копирования
- Обработка прайсов. Поставщики присылают файлы в разных форматах, скрипт приводит их к единому виду и загружает в каталог
- Перенос между системами. Выгрузка из одной базы, преобразование и загрузка в другую
- Отслеживание изменений. Проверка, что на сайте или в документе что-то поменялось, с уведомлением
- Разбор документов. Извлечение нужных полей из счетов, актов, заявок и запись их в таблицу
Что важно понимать про парсинг сайтов
Сбор данных с чужих сайтов — рабочий инструмент, но у него есть рамки, и я их соблюдаю.
- Соблюдаю ограничения источника. robots.txt, разумная частота запросов, никакой нагрузки, способной мешать работе чужого сайта
- Только открытые данные. То, что доступно обычному посетителю без авторизации и обхода защиты
- Не собираю персональные данные. Контакты физических лиц для рассылок и обзвона — не моя работа
- Не берусь за обход защиты. Если сайт явно запрещает сбор или ставит защиту, это сигнал, а не препятствие для обхода
- Предупреждаю о хрупкости. Структура чужого сайта меняется без предупреждения, и парсер может перестать работать в любой момент — это нормальная часть жизни таких скриптов
Там, где у источника есть официальный API, всегда предпочитаю его: это надежнее, быстрее и не ломается при каждом редизайне. Подробнее про такие связки — на странице интеграций.
На чем пишу
Python, база PostgreSQL или SQLite для хранения истории, размещение на VPS с запуском по расписанию и журналом. Для выгрузок — таблицы, CSV, Google Sheets или прямая запись в вашу систему.
Код передается вам полностью, с комментариями и инструкцией. Привязки ко мне нет: дорабатывать может любой разработчик на Python.