Async wrapper for unofficial KinopoiskAPI
Project description
Asyncopoisk
Это асинхронная обертка для Kinopoisk API Unofficial. Создавалась для личного пользования, так как удобной и асинхронной обертки найти не смог. Это был мой первый опыт в написании АПИ обертки, так что PR и Issue приветствуются!
Особенности
В обертки реализованы все методы, что были описаны в документации на момент 2023.21.12 структура запросов сделана так, чтобы минимально отличаться от документации самой АПИ
Начало работы
Перед использованием asyncopoisk вам нужно получить токен. Получить его можно на сайте Kinopoisk API Unofficial
Установите Asyncopoisk
pip install asyncopoisk
Далее создайте экземпляр обертки
from asyncopoisk import KinopoiskAPI
kp = KinopoiskAPI(token="TOKEN")
Теперь с помощью kp
вы можете вызывать методы АПИ.
ВАЖНО так как обертка использует асинхронную httpx сессию, вызов всех методов должен происходить асинхронно
Примеры
Получить данные о фильме по kinopoisk id
import asyncio
from asyncopoisk import KinopoiskAPI
async def main(kp_token: str, kp_id: int):
kp = KinopoiskAPI(token=kp_token)
# Получаем фильм по id
film = await kp.films(kp_id)
if __name__ == "__main__":
asyncio.run(main(kp_token="TOKEN", kp_id=841700))
Получить данные о фильме по imdb id
import asyncio
from asyncopoisk import KinopoiskAPI
async def main(kp_token: str, imdb_id: str):
kp = KinopoiskAPI(token=kp_token)
# Получаем фильм по imdb id
film = await kp.films(imdb_id=imdb_id)
if __name__ == "__main__":
asyncio.run(main(kp_token="TOKEN", imdb_id="tt3659388"))
Получить список русских сериалов с рейтингом не ниже 6.5 от 2023 года
Номера стран и жанров можно получить используя метод
films.filters()
from typing import List
import asyncio
from asyncopoisk import KinopoiskAPI
from asyncopoisk.models.enums import SearchOrder, SearchFilmType
async def main(
kp_token: str,
countries: List[int],
order: SearchOrder,
type: SearchFilmType,
rating_from: float,
year_from: int,
):
kp = KinopoiskAPI(token=kp_token)
# Поиск по фильтрам
film = await kp.films(
countries=countries,
order=order,
type=type,
rating_from=rating_from,
year_from=year_from,
)
if __name__ == "__main__":
asyncio.run(
main(
kp_token="TOKEN",
countries = [34],
order = SearchOrder.RATING,
type = SearchFilmType.TV_SERIES,
rating_from = 6.5,
year_from = 2023,
)
)
Поиск по ключевому слову
import asyncio
from asyncopoisk import KinopoiskAPI
from asyncopoisk.models.enums import SearchOrder, SearchFilmType
async def main(kp_token: str, keyword: str):
kp = KinopoiskAPI(token=kp_token)
# Поиск по ключевому слову
result = await kp.films.search_by_keyword(keyword=keyword)
if __name__ == "__main__":
asyncio.run(
main(
kp_token="2d3c7c68-b288-4fbd-84d8-ccb68e495923",
keyword="Марсианин",
)
)
Зависимости
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file asyncopoisk-1.0.2.tar.gz
.
File metadata
- Download URL: asyncopoisk-1.0.2.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b94bfd6027443c723b4513cce2799c4725bae377ad348532e83ecc8b7bd917b1 |
|
MD5 | 3f8932557a1dd8e27af0fedbb2a2e914 |
|
BLAKE2b-256 | 5c222c553b8614307eeb2a4be5fe65667c4d75ba62d40aa8dbf94de62889c85e |
File details
Details for the file asyncopoisk-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: asyncopoisk-1.0.2-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98270d996101c93a18bdeb17efe052a32b4fe87c398deefc332109313b9bc2e1 |
|
MD5 | ddfb258c8ee7a404cedc414eeb6f05f3 |
|
BLAKE2b-256 | 988f88151a7cb1f103baacd8d6b2d1fff08eae51d156dae96e925147c667c9da |