Интересное · InstaParser
Как составить техническое задание на сбор аудитории Instagram
Техническое задание на сбор аудитории Instagram должно однозначно описывать цель, источники, тип собираемых данных, фильтры, формат результата и критерии приёмки. Хорошее ТЗ позволяет двум исполнителям настроить одинаковую задачу и получить сопоставимый результат без устных уточнений.

Короткий ответ: что должно быть в ТЗ на парсинг Instagram
Минимальное ТЗ содержит девять обязательных блоков. Укажите бизнес-цель, портрет нужного пользователя, список источников, тип действия, поля результата, фильтры, объём, срок и критерии качества. Отдельно зафиксируйте допустимый способ использования и срок хранения данных.
Фраза «собрать целевую аудиторию конкурентов» не является готовым заданием. Она не объясняет, кого считать целевым, какие аккаунты использовать, нужны ли подписчики или комментаторы и в каком виде передавать результат.
| Блок ТЗ | На какой вопрос отвечает | Пример |
|---|---|---|
| Цель | Зачем нужна база | Оценить спрос в выбранных городах |
| Аудитория | Кого искать | Открытые профили локальных предпринимателей |
| Источники | Где собирать | Пять аккаунтов и четыре хэштега |
| Тип данных | Какое действие учитывать | Подписчики и авторы комментариев |
| Результат | Что передать | CSV с username, источником и датой |
| Приёмка | Как проверить | Случайная выборка из 200 строк |
Как сформулировать цель сбора аудитории
Цель должна описывать решение, которое будет принято по результату. «Собрать базу» — это действие, а не цель. Рабочая формулировка звучит так: «сравнить активную аудиторию трёх конкурентов в Екатеринбурге и определить общие сегменты для исследования спроса».
Формула цели для технического задания
Используйте конструкцию «получить X, чтобы выполнить Y, в пределах Z». X — нужные данные, Y — бизнес-действие, Z — география, период или другой предел. Такая цель сразу показывает, какие сведения лишние.
- получить список авторов комментариев, чтобы изучить вопросы покупателей;
- собрать подписчиков локальных аккаунтов, чтобы оценить размер сегмента;
- отследить новых подписчиков конкурента, чтобы анализировать динамику;
- найти пользователей по хэштегам, чтобы сравнить тематические группы.
Как описать целевого пользователя
Портрет целевого пользователя должен состоять из наблюдаемых признаков. Формулировки «платёжеспособный» или «заинтересованный» нельзя проверить по доступному профилю без дополнительных данных. Используйте географию, тип аккаунта, тематику описания, открытые контакты и наблюдаемую активность.
| Слабый критерий | Проверяемая замена |
|---|---|
| Активный пользователь | Оставил комментарий или лайк за выбранный период |
| Живёт рядом | Указан нужный город или найден географический признак |
| Предприниматель | Профиль компании либо роль указана в описании |
| Интересуется фитнесом | Проявил активность у выбранных фитнес-источников |
| Есть контакты | В доступном профиле опубликован телефон или email |
Неопределённые профили нужно предусмотреть заранее. Если данных недостаточно, назначьте статус «неясно», а не заставляйте исполнителя угадывать. Это уменьшает скрытые ошибки при фильтрации.
Как выбрать источники для парсинга Instagram
Каждый источник указывают точной ссылкой, username, хэштегом или географическим объектом. Не передавайте исполнителю список названий компаний без проверки: похожие аккаунты и старые username создают ошибки ещё до запуска.
Причина включения источника должна быть записана в ТЗ. Например: прямой конкурент в том же городе, отраслевое медиа, локальное сообщество или тематический автор. Методика проверки кандидатов приведена в статье о выборе аккаунтов-источников.
Таблица источников
| ID | Тип | Значение | Причина | Приоритет |
|---|---|---|---|---|
| S01 | Аккаунт | Точный URL | Прямой конкурент | Высокий |
| S02 | Хэштег | #пример | Тематический спрос | Средний |
| S03 | Геолокация | Город или место | Локальная аудитория | Высокий |
Какой тип аудитории указать
Тип аудитории определяет смысл каждой строки результата. Подписчик, автор комментария и пользователь, поставивший лайк, выражают разную связь с источником. Если нужны несколько типов, запускайте их отдельно или сохраняйте поле `action_type`.
- подписчики выбранного аккаунта;
- пользователи, поставившие лайк под постом или Reels;
- авторы комментариев под публикацией;
- пользователи по хэштегу;
- пользователи по геолокации;
- пользователи по ключевым словам;
- новые подписчики, лайки или комментарии для мониторинга.
Смешивать типы без метки нельзя. Команда не сможет отличить пассивного подписчика от активного комментатора и корректно сегментировать базу.
Какие поля результата включить в ТЗ
Список полей формируют от будущей операции, а не от максимальных возможностей сервиса. Для сравнения аудиторий достаточно username, источника, типа действия и даты. Телефон, email и адрес добавляют только при необходимости и при наличии допустимого основания.
| Поле | Обязательность | Примечание |
|---|---|---|
| username | Обязательно | Основной ключ профиля |
| source | Обязательно | Аккаунт, хэштег или геолокация |
| action_type | Если типов несколько | Подписка, лайк или комментарий |
| collected_at | Обязательно | Дата состояния базы |
| phone / email | По задаче | Только опубликованные сведения |
| quality_status | Для приёмки | Результат проверки строки |
Как описать фильтры без двусмысленности
Фильтр должен содержать поле, оператор и значение. Вместо «убрать пустые аккаунты» напишите: «исключить профили, у которых число публикаций меньше трёх». Вместо «оставить контакты» укажите, достаточно ли телефона или нужен одновременно email.
Пример записи фильтров
- телефон: заполнен или не обязателен;
- email: заполнен;
- число публикаций: не менее 5;
- география: Москва или Московская область по заданным признакам;
- тип профиля: личный или бизнес согласно брифу;
- дубли: объединить по нормализованному username с сохранением источников.
Порядок фильтров влияет на отчётность. Сохраняйте число строк до обработки и после каждого крупного этапа, чтобы понять причину сокращения базы.
Как указать объём и лимиты
Объём описывают отдельно для источника, задачи и итоговой базы. Укажите максимальное число строк, необходимость полного доступного сбора и правило остановки. Если точный размер неизвестен, не обещайте его заранее.
Платные тарифы InstaParser не ограничивают количество собранных строк. Конфигурация зависит от числа источников в одновременной работе и скорости фильтрации. Формула приведена в статье о выборе тарифа парсера Instagram.
Как выбрать формат TXT или CSV
CSV подходит для таблицы с несколькими полями, а TXT — для простого списка. В ТЗ укажите кодировку, разделитель, порядок столбцов и наличие заголовка. Фраза «передать Excel» недостаточна, если сервис формирует CSV.
Пример требования: UTF-8, CSV, разделитель — запятая, первая строка содержит заголовки. Текстовые значения с запятыми должны быть корректно экранированы. Сравнение форматов опубликовано в материале TXT или CSV.
Как установить сроки и этапы
Срок нужно разбить на тест, основной сбор, проверку и исправление. Один дедлайн «сдать базу в пятницу» не оставляет времени на проверку источников и повторный запуск.
- Подтверждение ТЗ и ссылок.
- Тестовая задача на ограниченном объёме.
- Проверка структуры и релевантности.
- Согласование фильтров после теста.
- Основной сбор.
- Контроль качества и устранение ошибок.
- Передача базы и отчёта.
Точное время парсинга нельзя гарантировать без контрольного запуска. Способ прогноза описан в статье о скорости парсинга Instagram.
Какие критерии приёмки записать
Критерии приёмки должны быть измеримыми и согласованными до запуска. Укажите обязательные поля, допустимую долю технических ошибок, способ случайной проверки и перечень файлов.
- файл открывается без ошибок в UTF-8;
- структура соответствует согласованной схеме;
- обязательные username заполнены;
- каждая строка связана с источником;
- технические дубли измерены и объяснимы;
- случайная выборка проверена по письменным правилам;
- передан отчёт о числе строк до и после фильтрации;
- ошибки исправляются в согласованный срок.
Порядок выборочного контроля раскрыт в статье о проверке качества базы Instagram. ТЗ может ссылаться на этот регламент, но должно указать собственные пороги проекта.
Как описать обработку дублей
ТЗ должно различать повтор внутри источника и пересечение между источниками. Один username у трёх конкурентов — ценный аналитический сигнал. Если просто удалить две строки, информация о пересечении исчезнет.
Рабочее правило звучит так: одна итоговая строка на username, список источников и число встреч сохраняются. Для активности дополнительно сохраняют публикации и типы действий. Это позволяет строить сегменты без завышения числа уникальных пользователей.
Какие правовые ограничения включить
ТЗ должно фиксировать цель, минимальный набор данных, доступ и срок хранения. Открытая публикация контакта не отменяет требований применимого права и правил коммуникации. Заказчик определяет правовое основание до передачи задания.
Принцип минимизации требует ограничить данные необходимым объёмом. Статья 5 GDPR формулирует требования к цели, точности и минимизации; официальный текст доступен на EUR-Lex. Для конкретной страны и способа использования получите консультацию профильного юриста.
Заполненный пример ТЗ для локального бизнеса
Пример показывает структуру, но не является универсальным заданием. Студия растяжки в Казани хочет оценить активную локальную аудиторию перед исследованием новых направлений.
| Раздел | Заполненное требование |
|---|---|
| Цель | Получить выборку активных пользователей для анализа спроса |
| Источники | Три локальных конкурента и два городских фитнес-хэштега |
| Тип данных | Авторы комментариев и пользователи по лайкам |
| Период | Публикации выбранного согласованного периода |
| Поля | Username, источник, действие, дата сбора |
| Фильтры | География по заданным открытым признакам |
| Формат | CSV, UTF-8, с заголовком |
| Приёмка | Случайная проверка 200 строк и отчёт о причинах исключения |
Контактные данные в пример не включены, потому что они не нужны для цели исследования. Если задача изменится, поля и правовое основание пересматриваются до нового запуска.
Какие ошибки встречаются в ТЗ
- Нет бизнес-цели. Исполнитель собирает максимум доступных полей.
- Источники названы словами. Выбирается не тот аккаунт или хэштег.
- Смешаны действия. Подписчики и комментаторы теряют смысл.
- Фильтры субъективны. Два проверяющих получают разные решения.
- Нет даты. Нельзя оценить актуальность результата.
- Не задан формат. Файл требует ручной перестройки.
- Нет критериев приёмки. Спор решается впечатлением от базы.
- Собираются лишние контакты. Растут риски без пользы для задачи.
Готовый шаблон технического задания
- Название проекта: короткое устойчивое имя.
- Цель: какое решение будет принято.
- Целевая аудитория: наблюдаемые признаки.
- Источники: точные ссылки, хэштеги и геолокации.
- Тип данных: подписчики, лайки, комментарии или мониторинг.
- Период и объём: границы задачи.
- Поля: обязательные и дополнительные.
- Фильтры: поле, оператор и значение.
- Дубли: ключ и сохранение источников.
- Формат: TXT или CSV, кодировка и заголовки.
- Сроки: тест, основной запуск и проверка.
- Приёмка: выборка, пороги и отчёт.
- Безопасность: доступ, хранение и удаление.
- Ответственные: кто согласует и принимает.
Практический финал — начать ТЗ с тестовой задачи. Проверьте один источник, просмотрите структуру файла и уточните фильтры до масштабирования. Исправление одной страницы требований дешевле повторного сбора большой базы.
Проверьте техническое задание на тесте
InstaParser позволяет создать до двух бесплатных задач с общим лимитом до 10 000 строк. Используйте тест для проверки источников, полей, фильтров и формата результата.
Попробовать бесплатно