126 lines
5 KiB
Markdown
126 lines
5 KiB
Markdown
# Movie Search API
|
||
|
||
Проект для поиска фильмов с использованием The Movie Database (TMDB) API.
|
||
|
||
## Возможности
|
||
|
||
- 🔍 Поиск фильмов по названию через TMDB API
|
||
- 🎬 Отображение информации о фильмах (постер, описание, рейтинг)
|
||
- 🔗 Поиск торрентов для выбранного фильма
|
||
- 📊 Отображение детальной информации о торрентах (размер, разрешение, качество)
|
||
- 🚀 Интеграция с torAPI для добавления торрентов в клиент
|
||
- 🌐 Веб-интерфейс для удобного поиска
|
||
- 📱 Адаптивный дизайн
|
||
- 🐳 Запуск в Docker контейнере
|
||
- 🔌 REST API для интеграции
|
||
|
||
## Запуск
|
||
|
||
### С помощью Docker Compose
|
||
|
||
```bash
|
||
docker compose up --build -d
|
||
```
|
||
|
||
### Доступ к приложению
|
||
|
||
- **Веб-интерфейс**: http://localhost:8089
|
||
- **API**: http://localhost:8089/api/search/{название_фильма}
|
||
|
||
## API Endpoints
|
||
|
||
### GET /
|
||
Главная страница с формой поиска
|
||
|
||
### POST /search
|
||
Поиск фильмов через веб-форму
|
||
|
||
**Параметры:**
|
||
- `movie_title` (form) - название фильма для поиска
|
||
|
||
### GET /api/search/{movie_title}
|
||
API endpoint для поиска фильмов
|
||
|
||
**Параметры:**
|
||
- `movie_title` (path) - название фильма для поиска
|
||
|
||
### GET /api/torrents/{movie_title}
|
||
API endpoint для поиска торрентов фильма
|
||
|
||
**Параметры:**
|
||
- `movie_title` (path) - название фильма для поиска
|
||
- `year` (query, optional) - год выпуска фильма
|
||
|
||
### GET /torrents/{movie_title}
|
||
Страница с результатами поиска торрентов
|
||
|
||
**Параметры:**
|
||
- `movie_title` (path) - название фильма для поиска
|
||
- `year` (query, optional) - год выпуска фильма
|
||
|
||
**Пример ответа API торрентов:**
|
||
```json
|
||
{
|
||
"torrents": [
|
||
{
|
||
"title": "Inception (2010) - 1080p - BluRay",
|
||
"size_bytes": 2684354560,
|
||
"size_readable": "2.5 GB",
|
||
"resolution": "1080p",
|
||
"quality": "BluRay",
|
||
"seeds": 150,
|
||
"peers": 25,
|
||
"magnet": "magnet:?xt=urn:btih:example0",
|
||
"download_url": "http://example.com/torrent0.torrent"
|
||
}
|
||
],
|
||
"movie_title": "Inception",
|
||
"year": "2010"
|
||
}
|
||
```
|
||
|
||
## Конфигурация
|
||
|
||
Приложение использует следующие переменные окружения:
|
||
|
||
- `TMDB_API_KEY` - API ключ для TMDB (по умолчанию: 6d58225585fb77af5945a964de41849f)
|
||
- `HOST` - хост для запуска (по умолчанию: 0.0.0.0)
|
||
- `PORT` - порт для запуска (по умолчанию: 8000)
|
||
|
||
## Технологии
|
||
|
||
- **FastAPI** - веб-фреймворк
|
||
- **Jinja2** - шаблонизатор
|
||
- **httpx** - HTTP клиент
|
||
- **Docker** - контейнеризация
|
||
- **TMDB API** - источник данных о фильмах
|
||
|
||
## Использование
|
||
|
||
### Поиск фильмов и торрентов
|
||
|
||
1. **Поиск фильма**: Введите название фильма на главной странице
|
||
2. **Выбор фильма**: Нажмите кнопку "🔍 Найти торренты" на понравившемся фильме
|
||
3. **Просмотр торрентов**: Изучите доступные торренты с информацией о размере, разрешении и качестве
|
||
4. **Скачивание**: Используйте кнопки для скачивания .torrent файла или magnet-ссылки
|
||
5. **Добавление в клиент**: Нажмите "Добавить в клиент" для автоматического добавления в qBittorrent
|
||
|
||
### Интеграция с torAPI
|
||
|
||
Приложение интегрировано с вашим torAPI сервисом (порт 8088) для автоматического добавления торрентов в qBittorrent клиент.
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
searchTorrentDownl/
|
||
├── app.py # Основное приложение
|
||
├── requirements.txt # Python зависимости
|
||
├── Dockerfile # Docker образ
|
||
├── docker-compose.yml # Docker Compose конфигурация
|
||
├── templates/ # HTML шаблоны
|
||
│ ├── index.html # Главная страница
|
||
│ ├── results.html # Страница результатов поиска фильмов
|
||
│ ├── torrents.html # Страница результатов поиска торрентов
|
||
│ └── error.html # Страница ошибок
|
||
└── README.md # Документация
|
||
```
|