127 lines
5 KiB
Markdown
127 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 # Документация
|
|||
|
|
```
|