Сборщик заказов с фриланс-бирж с оценкой под стек
Сервис собирает заказы с Kwork, FL.ru, hh.ru и Workspace.ru, оценивает под стек и бюджет. За первые сутки: 280 заказов, 139 прошли фильтр.

Задача, которую мы решали для себя
Заказы появляются на четырёх площадках, хорошие разбирают за часы. Открывать каждую площадку и перебирать десятки нерелевантных заявок — потерянное время.
Что мешало
У каждой биржи свой формат: на одной данные спрятаны в коде страницы, на другой RSS, на третьей вакансии найма вперемешку с подработкой, а тендеры Workspace собираются только в браузере. Плюс биржи ограничивают частоту запросов — сборщик должен работать бережно и не терять заказы при сбоях.
Что сделали
- адаптеры для Kwork, FL.ru, hh.ru и Workspace.ru (тендеры, через Playwright): всё приводится к единой модели заказа — бюджет, клиент, дата, текст, теги;
- оценку 0…1 по правилам: совпадение со стеком, бюджет, свежесть, число откликов, стоп-темы; к каждой оценке — объяснение словами;
- очередь в SQLite: без дублей, с отложенной повторной отправкой и журналом прогонов;
- отправку по общему контракту (JSON Schema): первый приёмник — лента FreelanceCRM, новая CRM подключается отдельным адаптером, площадки о ней ничего не знают;
- запуск по таймеру на сервере, бережный темп запросов;
- разбор собранного: какие темы и бюджеты встречаются чаще.
Результат
За первые сутки собрано 280 заказов, 139 прошли фильтр и легли в ленту. Самые частые запросы — ИИ-агенты (35%), CRM (25%), Telegram-боты (23%), n8n-автоматизация (20%). 163 автотеста на реальных страницах бирж.
Стек
Python, httpx, Playwright, SQLite, JSON Schema, pytest, systemd, Docker.


