Skip to main content

API Client for the unofficial Kinopoisk api

Project description

Kinopoisk API Unofficial client

Python-модуль для взаимодействия с неофициальным API КиноПоиска

GitHub repo size PyPI - Downloads GitHub Repo stars GitHub watchers GitHub last commit GitHub top language API Uptime

Установка

$ pip install kinopoisk-api-unofficial-client

Получение токена KinopoiskAPI

Для получения токена необходима регистрация на сайте kinopoiskapiunofficial.tech. После регистрации перейдите в настройки своего профиля и сохраните токен.

Регистрация

films

Набор методов для работы с данными о фильмах

Получить данные о фильме по kinopoisk id

Возвращает базовые данные о фильме. Поле last_sync показывает дату последнего обновления данных.

  • Эндпоинт: /api/v2.2/films/{id}
  • Метод: send_film_request(request: FilmRequest) -> FilmResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.film_request import FilmRequest

api_client = KinopoiskApiClient("<your_token>")
request = FilmRequest(507)
response = api_client.films.send_film_request(request)

Получить данные о сезонах для сериала по kinopoisk film id

Возвращает данные о сезонах для сериала.

  • Эндпоинт: /api/v2.2/films/{id}/seasons
  • Метод: send_seasons_request(request: SeasonsRequest) -> SeasonsResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.seasons_request import SeasonsRequest

api_client = KinopoiskApiClient("<your_token>")
request = SeasonsRequest(685246)
response = api_client.films.send_seasons_request(request)

Получить данные о фактах и ошибках в фильме по kinopoisk film id

Возвращает список фактов и ошибок в фильме.

  • Эндпоинт: /api/v2.2/films/{id}/facts
  • Метод: send_facts_request(request: FactsRequest) -> FactsResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.facts_request import FactsRequest

api_client = KinopoiskApiClient("<your_token>")
request = FactsRequest(685246)
response = api_client.films.send_facts_request(request)

Получить данные о прокате фильма по kinopoisk film id

Возвращает данные о прокате в разных странах.

  • Эндпоинт: /api/v2.2/films/{id}/distributions
  • Метод: send_distributions_request(request: DistributionsRequest) -> DistributionsResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.distributions_request import DistributionsRequest

api_client = KinopoiskApiClient("<your_token>")
request = DistributionsRequest(507)
response = api_client.films.send_distributions_request(request)

Получить данные о бюджете и сборах фильма по kinopoisk film id

Возвращает данные о бюджете и сборах.

  • Эндпоинт: /api/v2.2/films/{id}/box_office
  • Метод: send_box_office_request(request: BoxOfficeRequest) -> BoxOfficeResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.box_office_request import BoxOfficeRequest

api_client = KinopoiskApiClient("<your_token>")
request = BoxOfficeRequest(507)
response = api_client.films.send_box_office_request(request)

Получить кадры из фильма по kinopoisk film id

Возвращает кадры из фильма.

  • Эндпоинт: /api/v2.1/films/{id}/frames
  • Метод: send_film_frame_request(request: FilmFrameRequest) -> FilmFrameResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.film_frame_request import FilmFrameRequest

api_client = KinopoiskApiClient("<your_token>")
request = FilmFrameRequest(507)
response = api_client.films.send_film_frame_request(request)

Получить изображения(кадры, постеры, фан-арты, обои и т.д.) связанные с фильмом по kinopoisk film id

Данный эндпоинт возвращает изображения связанные с фильмом с пагинацией. Каждая страница содержит не более чем 20 фильмов. Доступные изображения:

ImageType

  • STILL - кадры
  • SHOOTING - изображения со съемок
  • POSTER - постеры
  • FAN_ART - фан-арты
  • PROMO - промо
  • CONCEPT - концепт-арты
  • WALLPAPER - обои
  • COVER - обложки
  • SCREENSHOT - скриншоты
  • Эндпоинт: /api/v2.2/films/{id}/images
  • Метод: send_image_request(self, request: ImageRequest) -> ImageResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.image_request import ImageRequest

api_client = KinopoiskApiClient("<your_token>")
request = ImageRequest(507)
response = api_client.films.send_image_request(request)

Получить трейлеры, тизеры, видео для фильма по kinopoisk film id

Возвращает трейлеры, тизеры, видео для фильма по kinopoisk film id.

  • Эндпоинт: /api/v2.2/films/{id}/videos
  • Метод: send_film_video_request(request: FilmVideoRequest) -> FilmVideoResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.film_video_request import FilmVideoRequest

api_client = KinopoiskApiClient("<your_token>")
request = FilmVideoRequest(507)
response = api_client.films.send_film_video_request(request)

Получить сиквелы и приквелы для фильма по kinopoisk film id

Возвращает информацию о сиквелах и приквелах для фильма по kinopoisk film id.

  • Эндпоинт: /api/v2.1/films/{id}/sequels_and_prequels
  • Метод: send_film_sequels_and_prequels_request(request: FilmSequelsAndPrequelsRequest) -> FilmSequelsAndPrequelsResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.film_sequels_and_prequels_request import FilmSequelsAndPrequelsRequest

api_client = KinopoiskApiClient("<your_token>")
request = FilmSequelsAndPrequelsRequest(507)
response = api_client.films.send_film_sequels_and_prequels_request(request)

Получить список фильмов по ключевым словам

  • Эндпоинт: /api/v2.1/films/search-by-keyword
  • Метод: send_search_by_keyword_request(request: SearchByKeywordRequest) -> SearchByKeywordResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.search_by_keyword_request import SearchByKeywordRequest

api_client = KinopoiskApiClient("<your_token>")
request = SearchByKeywordRequest("Рик и Морти")
response = api_client.films.send_search_by_keyword_request(request)

Получить id стран и жанров для использования в FilmSearchByFiltersRequest

Возвращает список id стран и жанров, которые могут быть использованы в поиске по фильтру.

  • Эндпоинт: /api/v2.1/films/filters
  • Метод: send_filters_request(request: FiltersRequest) -> FiltersResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.filters_request import FiltersRequest

api_client = KinopoiskApiClient("<your_token>")
request = FiltersRequest()
response = api_client.films.send_filters_request(request)

Получить список фильмов по различным фильтрам

Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов. Используй FiltersRequest чтобы получить id стран и жанров.

  • Эндпоинт: /api/v2.1/films/search-by-filters
  • Метод: send_film_search_by_filters_request(request: FilmSearchByFiltersRequest) -> FilmSearchByFiltersResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.model.filter_country import FilterCountry
from kinopoisk_unofficial.model.filter_order import FilterOrder
from kinopoisk_unofficial.request.films.film_search_by_filters_request import FilmSearchByFiltersRequest

api_client = KinopoiskApiClient("<your_token>")

request = FilmSearchByFiltersRequest()
request.year_from = 2021
request.rating_from = 5
request.order = FilterOrder.RATING
request.add_country(FilterCountry(1, 'США'))

response = api_client.films.send_film_search_by_filters_request(request)

Получить список фильмов из различных топов или коллекций

Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов. Например: https://www.kinopoisk.ru/top/lists/58/.

  • Эндпоинт: /api/v2.2/films/top
  • Метод: send_film_top_request(request: FilmTopRequest) -> FilmTopResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.film_top_request import FilmTopRequest
from kinopoisk_unofficial.model.dictonary.top_type import TopType

api_client = KinopoiskApiClient("<your_token>")
request = FilmTopRequest(TopType.TOP_250_BEST_FILMS)
response = api_client.films.send_film_top_request(request)

Получить список похожих фильмов по kinopoisk film id

Возвращает список похожих фильмов по kinopoisk film id

  • Эндпоинт: /api/v2.2/films/{id}/similars
  • Метод: send_related_film_request(request: RelatedFilmRequest) -> RelatedFilmResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.related_film_request import RelatedFilmRequest

api_client = KinopoiskApiClient("<your_token>")
request = RelatedFilmRequest(507)
response = api_client.films.send_related_film_request(request)

Получить список цифровых релизов

Возвращает список цифровых релизов. Например: https://www.kinopoisk.ru/comingsoon/digital/

  • Эндпоинт: /api/v2.1/films/releases
  • Метод: send_digital_release_request(request: DigitalReleaseRequest) -> DigitalReleaseResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.films.digital_release_request import DigitalReleaseRequest
from kinopoisk_unofficial.model.dictonary.month import Month

api_client = KinopoiskApiClient("<your_token>")
request = DigitalReleaseRequest(2021, Month.SEPTEMBER)
response = api_client.films.send_digital_release_request(request)

Получить график кинопремьер

Возвращает список кинопремьер. Например: https://www.kinopoisk.ru/premiere/

  • Эндпоинт: /api/v2.2/films/premieres
  • Метод: send_premiere_request(request: PremiereRequest) -> PremiereResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.model.dictonary.month import Month
from kinopoisk_unofficial.request.films.premiere_request import PremiereRequest

api_client = KinopoiskApiClient('<your_token>')

request = PremiereRequest(2021, Month.DECEMBER)
response = api_client.films.send_premiere_request(request)

reviews

Набор методов для работы с ревью о фильмах

Получить рецензии зрителей

Возвращает список рецензий с пагинацией. Каждая страница содержит не более чем 20 рецензий. Поле description содержит не полный текст рецензии. Полный текст может быть получен из ReviewDetailsRequest

  • Эндпоинт: /api/v1/reviews
  • Метод: send_reviews_request(request: ReviewsRequest) -> ReviewsResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.reviews.reviews_request import ReviewsRequest

api_client = KinopoiskApiClient("<your_token>")
request = ReviewsRequest(507)
response = api_client.reviews.send_reviews_request(request)

Получить полную рецензию по kinopoisk review id

Возвращает полную информацию о рецензии.

  • Эндпоинт: /api/v1/reviews/details
  • Метод: send_review_details_request(request: ReviewDetailsRequest) -> ReviewDetailsResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.reviews.review_details_request import ReviewDetailsRequest

api_client = KinopoiskApiClient("<your_token>")
request = ReviewDetailsRequest(3000574)
response = api_client.reviews.send_review_details_request(request)

staff

Набор методов для работы с данными об актерах, режиссерах и т.д.

Получить данные об актерах, режиссерах и т.д. по kinopoisk film id

Возвращает данные об актерах, режиссерах и т.д. по kinopoisk film id

  • Эндпоинт: /api/v1/staff
  • Метод: send_staff_request(request: StaffRequest) -> StaffResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.staff.staff_request import StaffRequest

api_client = KinopoiskApiClient("<your_token>")
request = StaffRequest(507)
response = api_client.staff.send_staff_request(request)

Получить данные о конкретном человеке по kinopoisk person id

Возвращает данные о конкретном человеке по kinopoisk person id

  • Эндпоинт: /api/v1/staff/{id}
  • Метод: send_person_request(request: PersonRequest) -> PersonResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.staff.person_request import PersonRequest

api_client = KinopoiskApiClient("<your_token>")
request = PersonRequest(27977)
response = api_client.staff.send_person_request(request)

persons

Получить данные об актерах, режиссерах и т.д. по имени

Возвращает данные об актерах, режиссерах и т.д. по имени

Одна страница может содержать до 50 элементов в items

  • Эндпоинт: /api/v1/persons
  • Метод: send_person_by_name_request(request: PersonByNameRequest) -> PersonByNameResponse
from kinopoisk_unofficial.kinopoisk_api_client import KinopoiskApiClient
from kinopoisk_unofficial.request.persons.person_by_name_request import PersonByNameRequest

api_client = KinopoiskApiClient("<your_token>")
request = PersonByNameRequest("Джеймс Кэмерон")
response = api_client.persons.send_person_by_name_request(request)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kinopoisk-api-unofficial-client-2.2.2.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file kinopoisk-api-unofficial-client-2.2.2.tar.gz.

File metadata

File hashes

Hashes for kinopoisk-api-unofficial-client-2.2.2.tar.gz
Algorithm Hash digest
SHA256 f028e321bdd2e50a25a83e32cb397564b55ffbaf1a9349e2dae0047ebb280997
MD5 9f13c1cf78b5a42e279a9104b4aca4e4
BLAKE2b-256 6423c2a0652955b2d7515602b41737032cc68f20f7dfb660ee1b6750cc114a2f

See more details on using hashes here.

File details

Details for the file kinopoisk_api_unofficial_client-2.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for kinopoisk_api_unofficial_client-2.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4bafddb75eae6890ab3bfbeb7d78acf4e8afb36020ca2f2fa6a0ed72db8ec7a5
MD5 edb21c7dc2d9192ec7afd5a9d8b9afc4
BLAKE2b-256 acc9dd0d5febe74f9bef745c54ae86b97ba31c47ae5c9004738fc2350d7040ab

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page