← к выдаче
разработка

Python-разработчик - парсинг и сбор данных (Middle/Middle+)

Москва14 дн. назад

Коротко

Builds and maintains data collection systems from open sources; develops parsers, normalizes data, stores in PostgreSQL and object storage, and sets up · Needs: Practical Python experience with scrapers or external APIs; knowledge of HTTP, JSON, HTML; experience with requests, HTTPX, aiohttp, BeautifulSoup, lxml, or

Описание от работодателя

Ищем Python-разработчика в команду для создания и поддержки системы сбора данных из открытых источников: сайтов, поисковых сервисов, социальных сетей и т.д. Предстоит разрабатывать парсинг-сервисы, приводить данные к единому формату и сохранять их в базы данных и файловое хранилище. Планируем работать с более 15 источников и объёмом от 1 млн профилей. Зарплата: 180 000–230 000 ₽ на руки в месяц, по результатам технического собеседования. Полная занятость, офис. Что предстоит делать: - Разрабатывать сборщики на Python: получать данные через API и HTTP-запросы, извлекать информацию из HTML, использовать браузерную автоматизацию. - Собирать доступные сведения о профилях, публикациях и активности, загружать фотографии и другие материалы. - Проверять и нормализовать данные, обрабатывать пропуски, предотвращать дубли. - Реализовывать запись и обновление данных в PostgreSQL, связывать записи с файлами в объектном хранилище. - Сохранять источник и время получения данных, фиксировать изменения при повторном сборе. - Настраивать регулярные запуски, обработку ошибок и повторные попытки. - Поддерживать сборщики при изменении источников, писать тесты и добавлять логи для диагностики. Что важно: - Практический опыт разработки на Python и реализации сборщиков или интеграций с внешними API. - Понимание HTTP, JSON, HTML, пагинации, таймаутов и ограничений частоты запросов. - Опыт с requests, HTTPX или aiohttp, а также BeautifulSoup, lxml или Scrapy. Владение всеми библиотеками одновременно не требуется. - Умение пользоваться DevTools браузера для изучения страниц и сетевых запросов. - Уверенный базовый SQL: выборки, связи таблиц, вставка и обновление данных. Желателен опыт PostgreSQL. - Понимание того, как проверять результат сбора и избегать повторных записей. - Работа с Git, опыт отладки и написания тестов, например на pytest. - Умение реализовывать согласованные решения, обсуждать вопросы и работать с ревью. - Playwright или Selenium. - Асинхронный Python и asyncio. Будет плюсом: - SQLAlchemy и Alembic. - Docker, Linux, запуск задач по расписанию. - Celery, RQ или другие инструменты фоновой обработки. - S3-совместимые хранилища. - Опыт длительного сопровождения нескольких источников.