Не упустите лучшие вакансии!
Подключите наш Telegram-бот и получайте мгновенные уведомления о новых предложениях из 10+ источников. Будьте первым, кто откликнется!
Подключить ботаPython-разработчик - парсинг и сбор данных (Middle/Middle+)
Ищем 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-совместимые хранилища.
- Опыт длительного сопровождения нескольких источников.
Ваше резюме увидят первым!
Автоматическое поднятие на HeadHunter каждые 4 часа. Увеличьте свои шансы на успех в 10 раз!
Подключить автоподнятие