KINOHUBBLE - API для агрегации и кэширования данных о фильмах, сериалах, аниме и людях кинематографа.
Warning
Данный инструмент разработан и опубликован исключительно в образовательных целях и предназначен для личного использования. Он не является официальным инструментом и не нарушает условия использования сторонних сервисов, с которыми взаимодействует. Автор не несёт ответственности за последствия его использования, включая, но не ограничиваясь, возможными блокировками, ограничениями доступа или юридическими последствиями. Ответственность за соблюдение условий использования сторонних сервисов, с которыми взаимодействует инструмент, полностью лежит на пользователе.
/search
(GET) - запрос для глобального поиска, объединяет в себе поиск медиа-контента (фильмы, сериалы) и людей кино (по фио). Принимает на вход строку поиска. Использует поиск сервиса КиноПоиск, что позволяет искать контент или людей по контексту и описанию./info
(GET) - запрос для получения подробной информации о медиа-контенте. Принимает на вход тип медиа-контентаcontent_type
, (film
илиtvseries
) и егоid
./similars
(GET) - запрос для получения схожего контента. Принимает на вход тип медиа-контентаcontent_type
, (film
илиtvseries
) и егоid
./person
(GET) - запрос для получения информации о человеке кино. Принимает на входid
человека./trivias
(GET) - запрос для получения фактов о медиа-контенте. Принимает на вход тип медиа-контентаcontent_type
, (film
илиtvseries
) и егоid
./media_posts
(GET) - запрос для получения постов и статей о медиа-контенте. Принимает на вход тип медиа-контентаcontent_type
, (film
илиtvseries
) и егоid
./series_dates
(GET) - запрос для получения дат выхода серий сериала. Принимает на вход
Для получения данных о медиа-контенте и людях кино, все методы HUBBLE, кроме /series_dates
использует библиотеку kinopapi.
Для получения дат выхода серий с сервиса toramp, были написаны отдельные запросы внутри HUBBLE.
git clone https://github.com/cloudsucker/kinohubble.git
Перейдите в директорию проекта:
Для перехода в созданную при клонировании репозитория директорию используйте:
cd kinohubble/
Рекомендуется, если в проекте не создано виртуальнуе окружение.
python -m venv .venv
Windows:
.venv\Scripts\activate
Linux/macOS:
source .venv/bin/activate
Note
В проекте используется собственная библиотека kinopapi
, не опубликованная на pypi.org. Она будет автоматически загружена и установлена из GitHub-репозитория.
pip install -r requirements.txt
python -m uvicorn app:app --host 127.0.0.1 --port 8080 --reload
Important
На данный момент база данных в проекте была отключена.
Проект был разделён на 4 слоя:
- API-HANDLERS LAYER - слой обработчиков API-запросов;
- SERVICE LAYER - сервисный слой с конкретными реализациями для сторонних API;
- DATA PROCESSORS LAYER - слой форматирования и унифицирования данных;
- UTILITIES LAYER - слой вспомогательных функций.
В режиме Debug==True
API-Хаб предоставляет удобный интерфейс для тестирования, работы с данными и разработки.
На главной странице представлен удобный интерфейс для быстрого ручного и автоматического тестирования запросов.
Note
Для каждого запроса имеется быстрый автоматический тест с рандомными параметрами.
Debug Viewer - это шаблонная страница формата .jinja2
для проверки входных и выходных данных API-Хаба.
- kinopapi>=1.1.0
- uvicorn==0.34.0
- litestar==2.14.0
Проект активно развивается, буду рад обратной связи.
По всем вопросам: [email protected]