Skip to content

Repository files navigation

🔍 Kwork Parser & Analyzer

Текущий статус

  • ✅ Каталожный парсер — 11 категорий, до 550 кворков
  • ✅ Детальный парсер — window.stateData, 100% покрытие
  • ✅ Excel аналитика — 5 листов: raw_data, by_subcategory, top_patterns, correlations, strategy
  • 🔴 Автообновление куки — в разработке
  • 🟡 Мониторинг биржи заказов — в очереди

Запуск

python3 parser.py # сбор данных
python3 analyze.py # генерация Excel

Автоматический сбор и анализ топовых объявлений с Kwork.ru для построения стратегии входа на фриланс-рынок

PythonPandasStatus


📌 Что делает этот проект

Парсит топ-50 объявлений по 11 категориям раздела «Разработка и IT» на Kwork.ru и автоматически строит Excel-отчёт с готовой стратегией входа для нового исполнителя.

Результат одного запуска:

  • 550 объявлений собраны за ~5 минут
  • Excel с 5 листами аналитики
  • Готовые рекомендации: цена, заголовок, срок, ключевые слова

🗺 Дорожная карта

┌─────────────────────────────────────────────────────────────────┐
│ ЭТАП 1 — РАЗВЕДКА │
│ ✅ Готово │
├─────────────────────────────────────────────────────────────────┤
│ ✅ Найдены реальные API endpoints Kwork через DevTools │
│ ✅ Изучена структура JSON ответа (41 поле на кворк) │
│ ✅ Подтверждена работа без токена (сессионные куки) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ЭТАП 2 — СБОРЩИК ДАННЫХ │
│ ✅ Готово │
├─────────────────────────────────────────────────────────────────┤
│ ✅ parser.py — POST запросы к catalog_kworks_filters │
│ ✅ 11 категорий × 50 объявлений = 550 кворков │
│ ✅ Pydantic-модели для валидации данных │
│ ✅ Промежуточное сохранение в raw_data.json │
│ ✅ Логирование прогресса и errors.log │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ЭТАП 3 — АНАЛИТИКА │
│ ✅ Готово │
├─────────────────────────────────────────────────────────────────┤
│ ✅ Лист raw_data — все 550 объявлений │
│ ✅ Лист by_subcategory — агрегация по 11 категориям │
│ ✅ Лист top_patterns — топ-10 + частотный анализ заголовков │
│ ✅ Лист correlations — корреляция Пирсона с популярностью │
│ ✅ Лист strategy — готовые рекомендации для новичка │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ЭТАП 4 — КЛЮЧЕВЫЕ ВЫВОДЫ │
│ ✅ Готово │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Топ-фактор успеха: Бейдж «Выбор Kwork» (r = 0.35) │
│ Лучшие ниши: ИИ-боты, Telegram Mini Apps │
│ Медиана отзывов: 40–60 (рынок молодой — легко зайти) │
│ Входная цена ИИ: 7 600 ₽ (медиана топа ~8 000 ₽) │
│ Входная цена TMA: 4 800 ₽ (медиана топа ~7 000 ₽) │
│ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ЭТАП 5 — СОЗДАНИЕ КВОРКОВ │
│ 🔄 В процессе │
├─────────────────────────────────────────────────────────────────┤
│ ✅ Написаны заголовки и описания для 2 кворков │
│ ✅ Определена стратегия портфолио │
│ 🔄 Анализ топовых портфолио конкурентов │
│ ⏳ Публикация кворков на Kwork │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ЭТАП 6 — ПЕРВЫЕ ЗАКАЗЫ │
│ ⏳ Планируется │
├─────────────────────────────────────────────────────────────────┤
│ ⏳ Первые 5 заказов по сниженной цене → отзывы │
│ ⏳ Выход на медианную цену рынка │
│ ⏳ Получение бейджа «Выбор Kwork» │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ЭТАП 7 — АВТОМАТИЗАЦИЯ ПРОДАЖ │
│ ⏳ Планируется │
├─────────────────────────────────────────────────────────────────┤
│ ⏳ Мониторинг новых заявок на бирже заказов │
│ ⏳ Авто-уведомления о подходящих проектах │
│ ⏳ Повторный парсинг раз в месяц — отслеживание рынка │
└─────────────────────────────────────────────────────────────────┘

📊 Результаты анализа

КатегорияМедиана ₽Медиана отзывовСрок (дн.)% с бейджем
Доработка сайтов1 0001 390176%
Настройка сайтов1 5001 175246%
Исправление ошибок1 0001 165238%
Новый сайт17 0001 195744%
Копия сайта1 000875322%
Верстка по макету1 5001 170246%
Доработка верстки1 500720330%
Чат-боты2 7501 120358%
ИИ-боты8 00040314%
Telegram Mini Apps7 00060522%
Машинное обучение1 000024%

🚀 Быстрый старт

# 1. Клонировать репозиторий
git clone https://github.com/collertop/kwork-parser.git
cd kwork-parser
# 2. Установить зависимости
python3 -m pip install -r requirements.txt
# 3. Настроить куки (получить из браузера на kwork.ru)
cp .env.example .env
# Вставить KWORK_COOKIE в .env# 4. Запустить парсер
python3 parser.py
# 5. Построить аналитику
python3 analyze.py
# → output/kwork_analysis.xlsx

📁 Структура проекта

kwork_parser/
├── config.py # Категории и настройки
├── models.py # Pydantic-модели
├── parser.py # Сбор данных с Kwork API
├── analyze.py # Аналитика → Excel
├── storage.py # Сохранение JSON
├── requirements.txt
├── .env.example
└── output/
├── raw_data.json # Сырые данные
├── kwork_analysis.xlsx # Готовый отчёт
└── errors.log

🔑 Как работает

Kwork не имеет публичного API. Проект использует внутренний endpoint сайта:

POST https://kwork.ru/catalog_kworks_filters/{parent}/{category}
Content-Type: multipart/form-data
page=1&s=groups&sDirection=ASC&sdisplay=table

Авторизация через сессионные куки браузера — токен не нужен.


⚙️ Что влияет на популярность кворка

ФакторКорреляцияВывод
Бейдж «Выбор Kwork»+0.35Сильная связь
Очередь заказов+0.21Умеренная связь
Цена «от»+0.18Слабая связь
Срок выполнения-0.15Быстрее = лучше
Цена-0.12Слабая связь

Проект создан для анализа рынка перед выходом на Kwork.ru

About

Парсер и анализатор топовых объявлений Kwork.ru — стратегия входа на фриланс-рынок

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages