# Page Parser

Сервис для конвертации HTML-контента в формат Markdown с дополнительной очисткой.

## Содержание
- [Обзор](#обзор)
- [Функционал](#функционал)
- [Установка](#установка)
- [Использование](#использование)
- [API Endpoints](#api-endpoints)

## Обзор

Page Parser API предоставляет инструменты для преобразования HTML-контента в чистый Markdown формат. Сервис автоматически удаляет навигационные элементы, скрипты, стили и внешние ссылки, что делает контент более пригодным для дальнейшей обработки или использования в системах документации.

Проект реализован как REST API с использованием фреймворка FastAPI, что обеспечивает высокую производительность и удобство использования.

## Функционал

- **Конвертация HTML в Markdown** - преобразование HTML-разметки в чистый Markdown
- **Очистка контента** - удаление навигационных элементов, скриптов и стилей
- **Удаление внешних ссылок** - автоматическое удаление URL и оформленных ссылок
- **Обработка ошибок** - устойчивость к сбоям с детальным логированием

## Установка

### Ручная установка

#### Сборка образа

```bash
make build
```

#### Запуск контейнера

```bash
make run
```

После выполнения сервис будет доступен по адресу http://localhost:8111

## Использование

После запуска сервиса доступна документация по адресу:
- **Swagger UI**: http://localhost:8111/docs

### Пример запроса

```bash
curl -X POST "http://localhost:8111/parsed_text" \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "raw_content": "<div class=\"content\"><h1>Заголовок</h1><p>Текст с <a href=\"https://example.com\">ссылкой</a></p><script>alert(\"Скрипт\")</script><nav><a href=\"/home\">Домой</a></nav></div>"
  }'
```

### Пример ответа

```json
{
  "parsed_content": "# Заголовок\n\nТекст с ссылкой"
}
```

## API Endpoints

### Конвертация HTML в Markdown

**URL**: `/parsed_text`  
**Метод**: POST

**Параметры запроса**:
- `raw_content` (обязательный) - HTML-контент для преобразования

**Ответ**:
- `parsed_content` - Преобразованный Markdown-текст

---

Если у вас возникнут вопросы или потребуется помощь, не стесняйтесь обращаться!