kwork-api/README.md
Claw 90f465eedb Initial commit: Kwork parser project
- Анализ HAR файла kwork-dump.har (1182 запроса)
- Найдено 18 JSON эндпоинтов
- Ключевые URL: /projects, /api/user/login, /quick-faq/init
- Kwork использует server-side rendering
- План разработки: HTML парсинг → Авторизация → API

Профиль: Claw <claw@localhost>
Репозиторий: ssh://gitea@5.188.26.192:2222/claw/kwork-api.git
2026-03-22 22:28:48 +00:00

109 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.
Для парсинга потребуется:
1. Либо cookies сессии
2. Либо авторизация через `/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
```
---
## Быстрый старт
```bash
# Установка
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>