Kwork API парсер
- scripts/mitmproxy-to-har.py: Конвертер mitm → HAR - MITMPROXY.md: Инструкция по записи и конвертации - Два способа: mitmweb (GUI) и mitmdump + скрипт |
||
|---|---|---|
| scripts | ||
| .gitignore | ||
| MITMPROXY.md | ||
| README.md | ||
| requirements.txt | ||
Kwork Parser
Парсер для Kwork.ru на основе анализа HAR файла.
Анализ HAR (kwork-dump.har)
Общая статистика
- Всего запросов: 1182
- Домены: kwork.ru, cdn-edge.kwork.ru, cdn-front.kwork.com, kworks.ru, notice.kwork.ru
JSON эндпоинты (18 с телом)
| URL | Метод | Размер (байт) | Описание |
|---|---|---|---|
/quick-faq/init |
POST | 380,450 | Инициализация FAQ (самый большой) |
/projects |
POST | 5,858 - 19,281 | Список проектов (пагинация) |
/api/user/checknotify |
GET | 318 | Проверка уведомлений |
/api/user/login |
POST | 142 | Авторизация |
/user/get_reviews |
POST | 83 | Отзывы пользователя |
/settings_main_save |
POST | 166 | Сохранение настроек |
Ключевые URL для парсинга
https://kwork.ru/projects # Список проектов
https://kwork.ru/projects/{id} # Страница проекта
https://kwork.ru/projects/{id}/view # Просмотр проекта
https://kwork.ru/api/user/login # API авторизации
https://kwork.ru/api/user/checknotify # API уведомлений
Авторизация
⚠️ HAR не содержит токенов авторизации — сессия записана без заголовков Authorization.
Для парсинга потребуется:
- Либо cookies сессии
- Либо авторизация через
/api/user/login
Структура данных
Kwork использует server-side rendering — данные встроены в HTML.
Где искать данные:
- HTML страницы
/projects— список проектов - HTML страницы
/projects/{id}— детали проекта - JSON
/quick-faq/init— данные FAQ (380KB)
План разработки
Этап 1: Парсинг HTML
- Парсер страницы
/projects(список) - Парсер страницы
/projects/{id}(детали) - Обработка пагинации
Этап 2: Авторизация
- Авторизация через login API
- Сохранение cookies/session
- Refresh сессии
Этап 3: API
- Эндпоинт
/api/user/checknotify - Эндпоинт
/user/get_reviews - Другие API методы
Структура проекта
kwork-parser/
├── README.md
├── requirements.txt
├── kwork_parser/
│ ├── __init__.py
│ ├── parser.py # HTML парсер
│ ├── api.py # API клиент
│ └── models.py # Модели данных
├── tests/
│ └── test_parser.py
└── examples/
└── parse_projects.py
Быстрый старт
# Установка
pip install -r requirements.txt
# Парсинг проектов
python examples/parse_projects.py
# Запуск тестов
pytest tests/
Заметки
- HAR файл:
/root/kwork-dump.har - Gitea репозиторий:
ssh://gitea@5.188.26.192:2222/claw/kwork-api.git - Профиль: Claw claw@localhost