Задачи
- Разрабатывать и поддерживать скрипты на C# для сбора данных с веб-ресурсов.
- Приводить данные к форматам JSON / XML / CSV и др.
- Работать с PostgreSQL (загрузка/обновление данных, запросы).
- Настраивать автоматизированный запуск по расписанию.
- Обеспечивать точность и производительность сборщиков.
- Обрабатывать динамический контент.
- Использовать прокси, headless-браузеры и/или API-подходы.
- Делать валидацию и очистку данных, следить за качеством и полнотой.
- Реализовывать обработку ошибок, логирование, диагностировать изменения в верстке/структуре страниц.
- Документировать логику парсеров и правила обработки данных.
- Синхронизироваться с командой по требованиям и приоритетам.
Ожидания (must-have)
- Опыт разработки на C# для веб-скрапинга/парсинга от 2 лет.
- Опыт командной разработки (git-workflow, code review).
- Практический опыт с HtmlAgilityPack, AngleSharp или аналогами.
- Уверенное понимание HTTP, REST и форматов HTML/JSON/XML.
- Навыки работы с HttpClient, обработкой ошибок, регулярными выражениями.
- Опыт работы с PostgreSQL (SQL-запросы, базовая оптимизация).
Будет плюсом
- Прокси, ротация IP, cookies/sessions, rate limiting.
- Headless-браузеры: Selenium / Playwright / Puppeteer.
Личные качества
- Ответственность: доводить задачи до результата, прогнозировать риски и сроки.
- Приоритизация: уметь выделять главное и прозрачно согласовывать ожидания по срокам.
- Внимательность к деталям: качество реализации, тестирование, крайние случаи.
- Самостоятельность: декомпозиция задач, своевременная коммуникация по блокерам.
Условия
- Удаленная работа, гибкий график: возможность начинать работу с 09:00 до 11:00 по МСК.
- Договор ГПХ / самозанятый / ИП.
- Формат взаимодействия: регулярные созвоны по задачам; на встречах просим быть с включенной камерой (это помогает быстрее согласовывать вопросы и снижает недопонимание).
Важно
Перед началом сотрудничества потребуется выполнить тестовое задание. Задание не оплачивается и направляется после предварительного отбора.