anime-parsers-ru


Nameanime-parsers-ru JSON
Version 1.8.1 PyPI version JSON
download
home_pageNone
SummaryPython package for parsing russian anime players
upload_time2024-09-27 14:17:03
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseCopyright 2024 YaNesyTortiK ya.nesy.tortik.email@gmail.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords anime parser kodik parsing aniboom animego jutsu shikimori аниме парсинг кодик парсер анибум анимего джутсу шикимори
VCS
bugtrack_url
requirements aiohttp aiosignal attrs beautifulsoup4 build certifi charset-normalizer colorama docutils frozenlist idna importlib_metadata jaraco.classes jaraco.context jaraco.functools keyring lxml markdown-it-py mdurl more-itertools multidict nh3 packaging pkginfo Pygments pyproject_hooks pywin32-ctypes readme_renderer requests requests-toolbelt rfc3986 rich soupsieve twine urllib3 yarl zipp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AnimeParsers
## Описание
Данный проект нацелен на создание наиболее широкого спектра парсеров на python для различных аниме-плееров в русскоязычном/снг сегменте

## Что есть на данный момент
- [x] Парсер Kodik (автоматическое получение api ключа)
- [x] Асинхронный парсер Kodik
- [x] Парсер AniBoom (на основе animego, не требует api ключей)
- [x] Асинхронный парсер Aniboom
- [x] Парсер JutSu (без функции поиска, не требует api ключей)
- [x] Парсер Shikimori (с возможностью использовать псевдо-api, не требует api ключей)
- [x] Асинхронный парсер Shikimori

## Установка
- Стандартная установка:
    ```commandline
    pip install anime-parsers-ru
    ```
- Установка с lxml:
    ```commandline
    pip install anime-parsers-ru[lxml]
    ```
    Для использования lxml при инициализации парсера установите параметр `use_lxml = True`
- Установка с асинхронными библиотеками (без lxml):
    ```commandline
    pip install anime-parsers-ru[async]
    ```

Установка lxml вручную:
```commandline
pip install lxml
```

# Инструкция к парсерам

## Оглавление
- [Kodik инструкция](#kodik-инструкция)
- [AniBoom инструкция](#aniboom-инструкция)
- [JutSu инструкция](#jutsu-инструкция)
- [Shikimori инструкция](#shikimori-инструкция)

## Kodik инструкция

> [!TIP]
> В большинстве случаев в комментариях к функциям описаны шаблоны и возможные значения возвращаемых данных

0. Установите и импортируйте библиотеку
    
    Стандартно:
    ```commandline
    pip install anime-parsers-ru
    ```
    С lxml:
    ```commandline
    pip install anime-parsers-ru[lxml]
    ```
    ```python
    from anime_parsers_ru import KodikParser

    parser = KodikParser(<ваш api ключ>) # Если нет ключа, оставьте пустым
    ```

    __Для асинхронного кода__:
    ```commandline
    pip install anime-parsers-ru[async]
    ```
    (Установка без lxml)
    ```python
    from anime_parsers_ru import KodikParserAsync

    parser = KodikParserAsync(<ваш api ключ>) # Если нет ключа, оставьте пустым
    # Далее перед всеми функциями дополнительно нужно прописывать await
    ```

1. Поиск аниме по названию
    ```python
    parser.search("Наруто") # список словарей
    ```
    Возвращает словарь из аниме и их данных (см. комментарии к функции)

2. Поиск аниме по id
    ```python
    parser.search_by_id("20", "shikimori") # список словарей
    # Доступные id_type: "shikimori", "kinopoisk", "imdb"
    ```
    Возвращает словарь из аниме и их данных (см. комментарии к функции)

3. Получить информацию об аниме
    ```python
    parser.get_info("z20", "shikimori") # Информация по "Наруто"
    ```
    Возвращает:
    ```json
    {
        "series_count": 220, 
        "translations": [
            {"id": "735", "type": "Озвучка", "name": "2x2 (220 эп.)"}, 
            {"id": "609", "type": "Озвучка", "name": "AniDUB (220 эп.)"}, 
            {"id": "869", "type": "Субтитры", "name": "Субтитры (220 эп.)"}, 
            {"id": "958", "type": "Озвучка", "name": "AniRise (135 эп.)"}, 
            {"id": "2550", "type": "Озвучка", "name": "ANI.OMNIA (8 эп.)"}
        ]
    }
    ```

    - Получить отдельно кол-во серий:
        ```python
        parser.series_count("z20", "shikimori") # число
        ```
    - Получить отдельно переводы:
        ```python
        parser.translations("z20", "shikimori") # список словарей
        ```
4. Прямая ссылка на видеофайл
    ```python
    parser.get_link(
        id="z20", 
        id_type="shikimori", 
        seria_num=1, 
        translation_id="609") # Кортеж
    ```
    Возвращает кортеж: `("//cloud.kodik-storage.com/useruploads/67b6e546-e51d-43d2-bb11-4d8bfbedc2d7/d6f4716bc90bd30694cf09b0062d07a2:2024062705/", 720)`
    
    1. Ссылка
    Пример: `//cloud.kodik-storage.com/useruploads/67b6e546-e51d-43d2-bb11-4d8bfbedc2d7/d6f4716bc90bd30694cf09b0062d07a2:2024062705/`
    К данной ссылке в начале нужно добавить `http:` или `https:`, а в конце качество.mp4 (`720.mp4`) (Обычно доступны следующие варианты качества: `360`, `480`, `720`)
    2. Максимально возможное качество
    Прим: `720` (1280x720)

> [!IMPORTANT]
> В случае, если аниме является фильмом или содержит только одну серию, в параметр `seria_num` указывается значение `0`. В случае если перевод/субтитры неизвестны или нет выбора, в параметр `translation_id` указывается значение `"0"`


4. Получить токен
    ```python
    parser.get_token() # строка
    # Или
    KodikParser.get_token()
    ```
    Использует один из скриптов кодика в котором указан api ключ, поэтому может не работать из-за внесенных изменений

## AniBoom инструкция
0. Установите и импортируйте библиотеку
    ```commandline
    pip install anime-parsers-ru
    ```
    ```python
    from anime_parsers_ru import AniboomParser

    parser = AniboomParser()
    ```
    __Для асинхронного кода__:
    ```commandline
    pip install anime-parsers-ru[async]
    ```
    ```python
    from anime_parsers_ru import AniboomParserAsync

    parser = AniboomParserAsync()
    # Далее перед всеми функциями дополнительно нужно прописывать await
    ```

1. Поиск по названию
    1. Быстрый поиск
    ```python
    parser.fast_search("Название аниме")
    ```
    Возвращает список из словарей в виде:
    ```json
    [
            {
                "title": "Название аниме",
                "year": "Год выпуска",
                "other_title": "Другое название(оригинальное название)",
                "type": "Тип аниме (ТВ сериалфильм, ...)",
                "link": "Ссылка на страницу с информацией",
                "animego_id": "id на анимего (по сути в ссылке на страницу с информацией последняя цифра и есть id)"
            },
        ]
    ```
    2. Поиск с дополнительной информацией / Расширенный поиск
    ```python
    parser.search("Название аниме")
    ```
    Возвращает список из словарей:
    ```json
    [
        {
            "title": "Название",
            "other_titles": ["Альтернативное название 1", "..."],
            "status": "Статус аниме (онгоинг, анонс, вышел, ...)",
            "type": "Тип аниме (ТВ сериал, фильм, ...)",
            "genres": ["Жанр1", "Жанр2", "..."],
            "description": "описание",
            "episodes": "если аниме вышло, то количество серий, если еще идет, то 'вышло / всего'",
            "episodes_info": [
                {
                    "num": "Номер эпизода",
                    "title": "Название эпизода",
                    "date": "Даты выхода (предполагаемые если анонс)",
                    "status": "'вышло' или 'анонс' (Имеется в виду вышло в оригинале, не переведено)",
                },
            ],
            "translations": [
                {
                    "name": "Название студии",
                    "translation_id": "id перевода в плеере aniboom"
                },
            ],
            "poster_url": "Ссылка на постер аниме",
            "trailer": "Ссылка на ютуб embed трейлер",
            "screenshots": [
                "Список ссылок на скриншоты"
            ],
            "other_info": {
                // Данная информация может менятся в зависимости от типа или состояния тайтла
                "Возрастные ограничения": "(прим: 16+)",
                "Выпуск": "(прим: с 2 апреля 2024)",
                "Главные герои": ["Список главных героев"],
                "Длительность": "(прим: 23 мин. ~ серия)",
                "Первоисточник": "(прим: Легкая новвела)",
                "Рейтинг MPAA": "(прим: PG-13)",
                "Сезон": "(прим. Весна 2024)",
                "Снят по ранобэ": "название ранобэ (Или так же может быть 'Снят по манге')",
                "Студия": "название студии"
            },
            "link": "Ссылка на страницу с информацией",
            "animego_id": "id на анимего (по сути в ссылке на страницу с информацией последняя цифра и есть id)"
        },
    ]
    ```
2. Данные по эпизодам. Если в аниме 1 эпизод или это фильм, то данных по эпизодам может не быть.
    ```python
    parser.episodes_info('ссылка на страницу аниме на animego.org') # Ссылка доступна из поиска по ключу 'link'
    ```
    Возвращает отсортированный по номеру серии список:
    ```json
    [   
        {
            "num": "Номер эпизода",
            "title": "Название эпизода",
            "date": "Даты выхода (предполагаемые если анонс)",
            "status": "'вышло' или 'анонс' (Имеется в виду вышло в оригинале, не переведено)"
        },
    ]
    ```
3. Данные по аниме (как в полном/расширенном поиске)
    ```python
    parser.anime_info('ссылка на страницу аниме на animego.org') # Ссылка доступна из поиска по ключу 'link'
    ```
    Возвращает словарь:
    ```json
    {
        "title": "Название",
        "other_titles": ["Альтернативное название 1", "..."],
        "status": "Статус аниме (онгоинг, анонс, вышел, ...)",
        "type": "Тип аниме (ТВ сериал, фильм, ...)",
        "genres": ["Жанр1", "Жанр2", "..."],
        "description": "описание",
        "episodes": "если аниме вышло, то количество серий, если еще идет, то 'вышло / всего'",
        "episodes_info": [
            {
                "num": "Номер эпизода",
                "title": "Название эпизода",
                "date": "Даты выхода (предполагаемые если анонс)",
                "status": "'вышло' или 'анонс' (Имеется в виду вышло в оригинале, не переведено)",
            },
        ],
        "translations": [
            {
                "name": "Название студии",
                "translation_id": "id перевода в плеере aniboom"
            },
        ],
        "poster_url": "Ссылка на постер аниме",
        "trailer": "Ссылка на ютуб embed трейлер",
        "screenshots": [
            "Список ссылок на скриншоты"
        ],
        "other_info": {
            // Данная информация может менятся в зависимости от типа или состояния тайтла
            "Возрастные ограничения": "(прим: 16+)",
            "Выпуск": "(прим: с 2 апреля 2024)",
            "Главные герои": ["Список главных героев"],
            "Длительность": "(прим: 23 мин. ~ серия)",
            "Первоисточник": "(прим: Легкая новвела)",
            "Рейтинг MPAA": "(прим: PG-13)",
            "Сезон": "(прим. Весна 2024)",
            "Снят по ранобэ": "название ранобэ (Или так же может быть 'Снят по манге')",
            "Студия": "название студии"
        },
        "link": "Ссылка на страницу с информацией",
        "animego_id": "id на анимего (по сути в ссылке на страницу с информацией последняя цифра и есть id)"
    },
    ```

4. Данные по переводам (которые есть в плеере aniboom)
    ```python
    parser.get_translation_info('animego_id') # Ссылка доступна из поиска по ключу 'animego_id'
    ```
    Возвращает список словарей:
    ```json
    [
        {
            "name": "Название студии озвучки",
            "translation_id": "id перевода в плеере aniboom"
        }
    ]
    ```

5. Получить контент файла mpd (mp4 файл разбитый на чанки) в виде строки. При сохранении данной строки в .mpd файл и при открытии его плеером, котрый поддерживает такой формат (прим: VLC PLayer), можно смотреть серию без рекламы. Обратите внимание, что в данном файле находятся именно ссылки на чанки, а не само видео, поэтому потребуется доступ в интернет. (Вы можете использовать ffmpeg для конвертации этого файла в mp4 формат)
    ```python
    parser.get_mpd_playlist('animego_id', 'episode_num', 'translation_id')
    # animego_id можно найти в результате поиска по ключу 'animego_id' (либо взять последние цифры в ссылке на страницу аниме на animego.org)
    # episode_num - номер вышедшего эпизода (нужно чтобы эпизод вышел именно с выбранной озвучкой)
    # translation_id - id перевода в базе aniboom (Можно найти либо в результате поиска, либо через anime_info, либо через get_translation_info)
    ```
    Возвращает строку - контент mpd файла
    
> [!IMPORTANT]
> В случае, если аниме является фильмом или содержит только одну серию, в параметр `episode_num` указывается значение `0`.

6. Сохранить mpd файл (Дополняет предыдущую функцию get_mpd_playlist)
    ```python
    parser.get_as_file('animego_id', 'episode_num', 'translation_id', 'filename')
    # animego_id можно найти в результате поиска по ключу 'animego_id' (либо взять последние цифры в ссылке на страницу аниме на animego.org)
    # episode_num - номер вышедшего эпизода (нужно чтобы эпизод вышел именно с выбранной озвучкой)
    # translation_id - id перевода в базе aniboom (Можно найти либо в результате поиска, либо через anime_info, либо через get_translation_info)
    # filename - имя файля или путь
    ```
    Сохраняет файл по указанному имени/пути

> [!IMPORTANT]
> В случае, если аниме является фильмом или содержит только одну серию, в параметр `episode_num` указывается значение `0`.

## JutSu инструкция
0. Установите и импортируйте библиотеку
    ```commandline
    pip install anime-parsers-ru
    ```
    ```python
    from anime_parsers_ru import JutsuParser

    parser = JutsuParser()
    ```

1. Данные по аниме (по ссылке на страницу)
    ```python
    parser.get_anime_info("Ссылка на страницу")
    # Пример ссылки: https://jut.su/tondemo-skill/
    # Для аниме: Кулинарные скитания в параллельном мире
    ```
    Возвращает словарь:
    ```json
    {
        "title": "Название аниме",
        "origin_title": "Оригинальное название (транслит японского названия на английском)",
        "age_rating": "Возрастное ограничение",
        "description": "Описание",
        "years": ["Год выхода 1 сезона", "Год выхода 2 сезона"],
        "genres": ["Жанр 1", "Жанр 2"],
        "poster": "Ссылка на картинку (плохое качество)",
        "seasons": [
            [ // 1 сезон будет обязательно, даже если у аниме нет других сезонов
                "ссылка на 1 серию 1 сезона (страница с плеером)",
                "ссылка на 2 серию 1 сезона (страница с плеером)"
            ],
            [ // 2 сезон если есть
                "ссылка на 1 серию 2 сезона (страница с плеером)",
                "ссылка на 2 серию 2 сезона (страница с плеером)"
            ],
        ],
        "seasons_names": [ // Если у аниме только 1 сезон, этот список будет пустым
            "Название 1 сезона", 
            "Название 2 сезона"
        ],
        "films": [ // Если фильмов нет - список пустой
            "Ссылка на фильм 1 (страница с плеером)",
            "Ссылка на фильм 2 (страница с плеером)",
        ]
    }
    ```

2. Получить ссылку на mp4 файл
    ```python
    parser.get_mp4_link('ссылка на страницу с плеером')
    # Пример ссылки: https://jut.su/tondemo-skill/episode-1.html
    # Еще пример ссылки: https://jut.su/ookami-to-koshinryou/season-1/episode-1.html
    ```
    Возвращает словарь:
    ```json
    {
        "360": "ссылка на mp4 файл с качеством 360p",
    }
    ```

> [!IMPORTANT]
> Для разных аниме разное количество доступных качеств плеера. (Например для "Наруто" доступно только 360 и 480, для большинства новых аниме доступно качество до 1080)
> Также jutsu не позволяет выбрать озвучку для аниме.

> [!NOTE]
> Для jutsu нет функции поиска, потому что он использует поиск яндекса по сайту и из-за того что он "умный" он может работать абсолютно непредсказуемо.
> В качестве "поиска" вы можете использовать оригинальное название аниме. Так как ссылка формируется по следующей схеме:
> Название аниме: Волчица и пряности
> Оригинальное название: Ookami to Koushinryou
> Ссылка на страницу: https://jut.su/ookami-to-koshinryou/

## Shikimori инструкция
0. Установите и импортируйте библиотеку
    ```commandline
    pip install anime-parsers-ru
    ```
    ```python
    from anime_parsers_ru import ShikimoriParser

    parser = ShikimoriParser()
    ```
    __Для асинхронного кода__:
    ```commandline
    pip install anime-parsers-ru[async]
    ```
    ```python
    from anime_parsers_ru import ShikimoriParserAsync

    parser = ShikimoriParserAsync(<ваш api ключ>) # Если нет ключа, оставьте пустым
    # Далее перед всеми функциями дополнительно нужно прописывать await
    ```

> [!NOTE]
> Шикимори ограничивает частоту запросов на сервер.
> Если шикимори возвращает код ответа 520, парсер вернет exception TooManyRequests.
> Для избежания этой ошибки делайте задержку 1-3 секунды между запросами.

1. Поиск аниме по названию
    ```python
    parser.search('Название аниме')
    ```
    Возвращает список словарей:
    ```json
    [
        {
            "genres": ["Жанр1", "Жанр2"],
            "link": "Ссылка на страницу аниме",
            "original_title": "Оригинальное название (транслит японского названия на английском)",
            "poster": "Ссылка на постер к аниме (плохое качество) если есть, иначе None",
            "shikimori_id": "id шикимори",
            "status": "статус (вышло, онгоинг, анонс)",
            "studio": "студия анимации (если есть, иначе None)",
            "title": "Название",
            "type": "тип аниме (TV сериал, OVA, ONA, ...)",
            "year": "год выхода (если есть, иначе None)"
        }
    ]
    ```

2. Информация об аниме
    ```python
    parser.anime_info('shikimori id')
    # id шикимори можно получить с помощью функции
    # parser.id_by_link
    ```
    Возвращает словарь:
    ```json
    {
        "dates": "Даты выхода",
        "description": "Описание",
        "episode_duration": "Средняя продолжительность серии",
        "episodes": "Количество эпиходов если статус 'вышло' или 'вышедших эпизодов / анонсировано эпизодов' или None (если фильм)",
        "genres": ["Жанр1", "Жанр2"],
        "licensed": "Кто лицензировал в РФ или None",
        "licensed_in_ru": "Название аниме как лицензировано в РФ или None",
        "next_episode": "Дата выхода следующего эпизода или None",
        "original_title": "Оригинальное название",
        "picture": "Ссылка на jpeg постер",
        "premiere_in_ru": "Дата премьеры в РФ или None",
        "rating": "возрастной рейтинг",
        "score": "оценка на шикимори",
        "status": "статус выхода",
        "studio": "студия анимации",
        "themes": ["Тема1", "Тема2"],
        "title": "Название на русском",
        "type": "тип аниме (TV Сериал, Фильм, т.п.)"
    }
    ```

3. Дополнительная информация об аниме (связанные аниме (продолжения, предыстории), авторы, главные персонажи, скриншоты, видео, похожие аниме)
    ```python
    parser.additional_anime_info('Ссылка на страницу шикимори')
    # прим: https://shikimori.one/animes/z20-naruto
    ```
    Возвращает словарь:
    ```json
    {
        "related": [
            {
                "date": "Даты выхода/сезон",
                "name": "Название",
                "picture": "Ссылка на картинку",
                "relation": "тип связи (продолжение, предыстория, адаптация и т.п.)",
                "type": "Тип (TV сериал, OVA, ONA, манга, ранобэ и т.д.)",
                "url": "Ссылка на страницу шикимори"
            }
        ],
        "staff": [
            {
                "name": "Имя человека (на русском)",
                "roles": ["Роль1", "Роль2"],
                "link": "ссылка шикимори на человека"
            }
        ],
        "main_characters": [
            {
                "name": "Имя персонажа",
                "picture": "Картинка (jpeg)"
            }
        ],
        "screenshots": ["Ссылка на скриншот 1", "Ссылка на скриншот 2"],
        "videos": [
            {
                "name": "Название видео",
                "link": "Ссылка на видео (обычно ютуб)"
            }
        ],
        "similar": [
            {
                "name": "Название аниме (похожего)",
                "picture": "Картинка (постер)",
                "link": "Ссылка на шикимори"
            }
        ]
    }
    ```

4. Получить список аниме с шикимори по фильтрам
    ```python
    parser.get_anime_list(status=['статус аниме1', 'статус аниме2'], anime_type=['тип аниме1', 'тип аниме2'], rating='возрастной рэйтинг', genres=['Жанр1', 'Жанр2'], start_page='начальная страница', page_limit='количество страниц для парсинга', sort_by='принцип сортировки')
    ```
    Доступные фильтры:
    - status - текущие статусы выхода (по умолчанию пусто (не учитывается в фильтрах))
        <details>
        <summary>Список доступных статусов</summary>
        - ongoing - онгоинг
        - anons - анонс
        - released - вышло
        - latest - вышло недавно
        </details>
    - anime_type - типы аниме (по умолчанию пусто (не учитывается в фильтрах))
        <details>
        <summary>Список доступных типов</summary>
        - tv - TV Сериал
        - movie - Фильм
        - ova - OVA
        - ona - ONA
        - special - спецвыпуск
        - tv_special - TV спецвыпуск
        - music - клип
        - pv - проморолик
        - cm - реклама
        </details>
    - rating - возрастной рэйтинг (по умолчанию None (не учитывается в фильтрах))
        <details>
        <summary>Список доступных возрастных рэйтингов</summary>
        - g - нет возрастного ограничения
        - pg - рекомендуется присутствие родителей
        - pg_13 - детям до 13 просмотр не желателен
        - r - Лицам до 17 лет обязательно присутствие взрослого
        - r_plus - Лицам до 17 лет просмотр запрещен
        (Рэйтинг rx - доступен только с аккаунтом (т.к. 18+) для поиска по такому рэйтингу воспользуйтесь функцией deep_anime_search (описано ниже))
        </details>
    - genres - Список жанров аниме (сюда же темы) (по умолчанию пусто (не учитывается в фильтрах))
        <details>
        <summary>Список доступных жанров</summary>
        При передаче аргумента обязательно указывать жанр как указано в списке ниже
        (То есть "{номер}-{название на английском}")
        ```json
        {
            "1-Action": "Экшен",
            "2-Adventure": "Приключения",
            "3-Racing": "Гонки",
            "4-Comedy": "Комедия",
            "5-Avant-Garde": "Авангард",
            "6-Mythology": "Мифология",
            "7-Mystery": "Тайна",
            "8-Drama": "Драма",
            "9-Ecchi": "Этти",
            "10-Fantasy": "Фэнтези",
            "11-Strategy-Game": "Стратегические игры",
            "13-Historical": "Исторический",
            "14-Horror": "Ужасы",
            "15-Kids": "Детское",
            "17-Martial-Arts": "Боевые искусства",
            "18-Mecha": "Меха",
            "19-Music": "Музыка",
            "20-Parody": "Пародия",
            "21-Samurai": "Самураи",
            "22-Romance": "Романтика",
            "23-School": "Школа",
            "24-Sci-Fi": "Фантастика",
            "25-Shoujo": "Сёдзё",
            "27-Shounen": "Сёнен",
            "29-Space": "Космос",
            "30-Sports": "Спорт",
            "31-Super-Power": "Супер сила",
            "32-Vampire": "Вампиры",
            "35-Harem": "Гарем",
            "36-Slice-of-Life": "Повседневность",
            "37-Supernatural": "Сверхъестественное",
            "38-Military": "Военное",
            "39-Detective": "Детектив",
            "40-Psychological": "Психологическое",
            "42-Seinen": "Сэйнэн",
            "43-Josei": "Дзёсей",
            "102-Team-Sports": "Командный спорт",
            "103-Video-Game": "Видеоигры",
            "104-Adult-Cast": "Взрослые персонажи",
            "105-Gore": "Жестокость",
            "106-Reincarnation": "Реинкарнация",
            "107-Love-Polygon": "Любовный многоугольник",
            "108-Visual-Arts": "Изобразительное искусство",
            "111-Time-Travel": "Путешествие во времени",
            "112-Gag-Humor": "Гэг-юмор",
            "114-Award-Winning": "Удостоено наград",
            "117-Suspense": "Триллер",
            "118-Combat-Sports": "Спортивные единоборства",
            "119-CGDCT": "CGDCT",
            "124-Mahou-Shoujo": "Махо-сёдзё",
            "125-Reverse-Harem": "Реверс-гарем",
            "130-Isekai": "Исэкай",
            "131-Delinquents": "Хулиганы",
            "134-Childcare": "Забота о детях",
            "135-Magical-Sex-Shift": "Магическая смена пола",
            "136-Showbiz": "Шоу-бизнес",
            "137-Otaku-Culture": "Культура отаку",
            "138-Organized-Crime": "Организованная преступность",
            "139-Workplace": "Работа",
            "140-Iyashikei": "Иясикэй",
            "141-Survival": "Выживание",
            "142-Performing-Arts": "Исполнительское искусство",
            "143-Anthropomorphic": "Антропоморфизм",
            "144-Crossdressing": "Кроссдрессинг",
            "145-Idols-(Female)": "Идолы (Жен.)",
            "146-High-Stakes-Game": "Игра с высокими ставками",
            "147-Medical": "Медицина",
            "148-Pets": "Питомцы",
            "149-Educational": "Образовательное",
            "150-Idols-(Male)": "Идолы (Муж.)",
            "151-Romantic-Subtext": "Романтический подтекст",
            "543-Gourmet": "Гурман"
        }
        </details>
    - start_page - начальная страница (начиная с 1) (по умолчанию 1)
    - page_limit - какое количество страниц парсить (по умолчанию 3)
    - sort_by - тип сортировки (по умолчанию rating)
        <details>
        <summary>Список доступных сортировок</summary>
        - rating - по рэйтингу
        - popularity - по популярности
        - name - по алфавиту
        - aired_on - по дате выхода
        - ranked_random - случайно
        - id_desc - по id шикимори
        </details>

    ! Если один из переданных параметров будет неверным (не содержится в списке доступных) - программа автоматически пропустит его.

    Возвращает список словарей:
    ```json
    {
        "original_title": "Оригинальное название (на английском)",
        "poster": "Ссылка на картинку-постер",
        "shikimori_id": "id шикимори",
        "title": "Название на русском",
        "type": "Тип аниме (TV Сериал, ONA, ...)",
        "url": "Ссылка на страницу аниме",
        "year": "год выхода аниме"
    }
    ```

5. Вспомогательные функции
    - Ссылка на страницу шикимори по id
        ```python
        parser.link_by_id('shikimori_id')
        ```
        Возвращает ссылку
        (id: 53446 результат: https://shikimori.one/animes/53446-tondemo-skill-de-isekai-hourou-meshi)
    - Id по ссылке на шикимори
        ```python
        parser.id_by_link('ссылка на страницу')
        ```
        Возвращает shikimori_id
        (ссылка: https://shikimori.one/animes/53446-tondemo-skill-de-isekai-hourou-meshi id: 53446)

6. Поиск аниме и информации по аниме через псевдо api shikimori
    Данные функции используют предоставленную shikimori тестовую функцию для api. (https://shikimori.one/api/doc/graphql)
    Подробные примеры запросов и ответов вы можете посмотреть в файле [SHIKI_API.md](https://github.com/YaNesyTortiK/AnimeParsers/blob/main/SHIKI_API.md)
    
    - Поиск аниме
        ```python
        parser.deep_search(
            title='Название аниме', 
            search_parameters={'поисковый параметр 1': 'значение поискового параметра 1'},
            return_parameters=['Параметр результата 1', 'параметр результата 2']
        )
        ```
        Возвращает список словарей
    
    - Информация об аниме по id
        ```python
        parser.deep_anime_info(
            shikimori_id='id шикимори',
            return_parameters=['Параметр результата 1', 'параметр результата 2']
        )
        ```
        Возвращает словарь

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "anime-parsers-ru",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "YaNesyTortiK <ya.nesy.tortik.email@gmail.com>",
    "keywords": "anime, parser, kodik, parsing, aniboom, animego, jutsu, shikimori, \u0430\u043d\u0438\u043c\u0435, \u043f\u0430\u0440\u0441\u0438\u043d\u0433, \u043a\u043e\u0434\u0438\u043a, \u043f\u0430\u0440\u0441\u0435\u0440, \u0430\u043d\u0438\u0431\u0443\u043c, \u0430\u043d\u0438\u043c\u0435\u0433\u043e, \u0434\u0436\u0443\u0442\u0441\u0443, \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438",
    "author": null,
    "author_email": "YaNesyTortiK <ya.nesy.tortik.email@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/3f/2a/f1b19db10b94033c4de742436ae5b0e7c4d06fa35c68ad28ed9061350221/anime_parsers_ru-1.8.1.tar.gz",
    "platform": null,
    "description": "# AnimeParsers\r\n## \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\r\n\u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u0441\u043f\u0435\u043a\u0442\u0440\u0430 \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432 \u043d\u0430 python \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0430\u043d\u0438\u043c\u0435-\u043f\u043b\u0435\u0435\u0440\u043e\u0432 \u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u043c/\u0441\u043d\u0433 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435\r\n\r\n## \u0427\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442\r\n- [x] \u041f\u0430\u0440\u0441\u0435\u0440 Kodik (\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 api \u043a\u043b\u044e\u0447\u0430)\r\n- [x] \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440 Kodik\r\n- [x] \u041f\u0430\u0440\u0441\u0435\u0440 AniBoom (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 animego, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 api \u043a\u043b\u044e\u0447\u0435\u0439)\r\n- [x] \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440 Aniboom\r\n- [x] \u041f\u0430\u0440\u0441\u0435\u0440 JutSu (\u0431\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 api \u043a\u043b\u044e\u0447\u0435\u0439)\r\n- [x] \u041f\u0430\u0440\u0441\u0435\u0440 Shikimori (\u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0441\u0435\u0432\u0434\u043e-api, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 api \u043a\u043b\u044e\u0447\u0435\u0439)\r\n- [x] \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440 Shikimori\r\n\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n- \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430:\r\n    ```commandline\r\n    pip install anime-parsers-ru\r\n    ```\r\n- \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441 lxml:\r\n    ```commandline\r\n    pip install anime-parsers-ru[lxml]\r\n    ```\r\n    \u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f lxml \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `use_lxml = True`\r\n- \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 (\u0431\u0435\u0437 lxml):\r\n    ```commandline\r\n    pip install anime-parsers-ru[async]\r\n    ```\r\n\r\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 lxml \u0432\u0440\u0443\u0447\u043d\u0443\u044e:\r\n```commandline\r\npip install lxml\r\n```\r\n\r\n# \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043a \u043f\u0430\u0440\u0441\u0435\u0440\u0430\u043c\r\n\r\n## \u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435\r\n- [Kodik \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f](#kodik-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f)\r\n- [AniBoom \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f](#aniboom-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f)\r\n- [JutSu \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f](#jutsu-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f)\r\n- [Shikimori \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f](#shikimori-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f)\r\n\r\n## Kodik \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\r\n\r\n> [!TIP]\r\n> \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445\r\n\r\n0. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\r\n    \r\n    \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e:\r\n    ```commandline\r\n    pip install anime-parsers-ru\r\n    ```\r\n    \u0421 lxml:\r\n    ```commandline\r\n    pip install anime-parsers-ru[lxml]\r\n    ```\r\n    ```python\r\n    from anime_parsers_ru import KodikParser\r\n\r\n    parser = KodikParser(<\u0432\u0430\u0448 api \u043a\u043b\u044e\u0447>) # \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u043a\u043b\u044e\u0447\u0430, \u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0441\u0442\u044b\u043c\r\n    ```\r\n\r\n    __\u0414\u043b\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430__:\r\n    ```commandline\r\n    pip install anime-parsers-ru[async]\r\n    ```\r\n    (\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0431\u0435\u0437 lxml)\r\n    ```python\r\n    from anime_parsers_ru import KodikParserAsync\r\n\r\n    parser = KodikParserAsync(<\u0432\u0430\u0448 api \u043a\u043b\u044e\u0447>) # \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u043a\u043b\u044e\u0447\u0430, \u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0441\u0442\u044b\u043c\r\n    # \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0435\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c await\r\n    ```\r\n\r\n1. \u041f\u043e\u0438\u0441\u043a \u0430\u043d\u0438\u043c\u0435 \u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e\r\n    ```python\r\n    parser.search(\"\u041d\u0430\u0440\u0443\u0442\u043e\") # \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0438\u0437 \u0430\u043d\u0438\u043c\u0435 \u0438 \u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u043c. \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438)\r\n\r\n2. \u041f\u043e\u0438\u0441\u043a \u0430\u043d\u0438\u043c\u0435 \u043f\u043e id\r\n    ```python\r\n    parser.search_by_id(\"20\", \"shikimori\") # \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439\r\n    # \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 id_type: \"shikimori\", \"kinopoisk\", \"imdb\"\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0438\u0437 \u0430\u043d\u0438\u043c\u0435 \u0438 \u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u043c. \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438)\r\n\r\n3. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0430\u043d\u0438\u043c\u0435\r\n    ```python\r\n    parser.get_info(\"z20\", \"shikimori\") # \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e \"\u041d\u0430\u0440\u0443\u0442\u043e\"\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\r\n    ```json\r\n    {\r\n        \"series_count\": 220, \r\n        \"translations\": [\r\n            {\"id\": \"735\", \"type\": \"\u041e\u0437\u0432\u0443\u0447\u043a\u0430\", \"name\": \"2x2 (220 \u044d\u043f.)\"}, \r\n            {\"id\": \"609\", \"type\": \"\u041e\u0437\u0432\u0443\u0447\u043a\u0430\", \"name\": \"AniDUB (220 \u044d\u043f.)\"}, \r\n            {\"id\": \"869\", \"type\": \"\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b\", \"name\": \"\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b (220 \u044d\u043f.)\"}, \r\n            {\"id\": \"958\", \"type\": \"\u041e\u0437\u0432\u0443\u0447\u043a\u0430\", \"name\": \"AniRise (135 \u044d\u043f.)\"}, \r\n            {\"id\": \"2550\", \"type\": \"\u041e\u0437\u0432\u0443\u0447\u043a\u0430\", \"name\": \"ANI.OMNIA (8 \u044d\u043f.)\"}\r\n        ]\r\n    }\r\n    ```\r\n\r\n    - \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u043b-\u0432\u043e \u0441\u0435\u0440\u0438\u0439:\r\n        ```python\r\n        parser.series_count(\"z20\", \"shikimori\") # \u0447\u0438\u0441\u043b\u043e\r\n        ```\r\n    - \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b:\r\n        ```python\r\n        parser.translations(\"z20\", \"shikimori\") # \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439\r\n        ```\r\n4. \u041f\u0440\u044f\u043c\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b\r\n    ```python\r\n    parser.get_link(\r\n        id=\"z20\", \r\n        id_type=\"shikimori\", \r\n        seria_num=1, \r\n        translation_id=\"609\") # \u041a\u043e\u0440\u0442\u0435\u0436\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u0440\u0442\u0435\u0436: `(\"//cloud.kodik-storage.com/useruploads/67b6e546-e51d-43d2-bb11-4d8bfbedc2d7/d6f4716bc90bd30694cf09b0062d07a2:2024062705/\", 720)`\r\n    \r\n    1. \u0421\u0441\u044b\u043b\u043a\u0430\r\n    \u041f\u0440\u0438\u043c\u0435\u0440: `//cloud.kodik-storage.com/useruploads/67b6e546-e51d-43d2-bb11-4d8bfbedc2d7/d6f4716bc90bd30694cf09b0062d07a2:2024062705/`\r\n    \u041a \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c `http:` \u0438\u043b\u0438 `https:`, \u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e.mp4 (`720.mp4`) (\u041e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430: `360`, `480`, `720`)\r\n    2. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\r\n    \u041f\u0440\u0438\u043c: `720` (1280x720)\r\n\r\n> [!IMPORTANT]\r\n> \u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0430\u043d\u0438\u043c\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0438\u043b\u044c\u043c\u043e\u043c \u0438\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0441\u0435\u0440\u0438\u044e, \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `seria_num` \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 `0`. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434/\u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0438\u043b\u0438 \u043d\u0435\u0442 \u0432\u044b\u0431\u043e\u0440\u0430, \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `translation_id` \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 `\"0\"`\r\n\r\n\r\n4. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\r\n    ```python\r\n    parser.get_token() # \u0441\u0442\u0440\u043e\u043a\u0430\r\n    # \u0418\u043b\u0438\r\n    KodikParser.get_token()\r\n    ```\r\n    \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043a\u043e\u0434\u0438\u043a\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u043a\u0430\u0437\u0430\u043d api \u043a\u043b\u044e\u0447, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u0437-\u0437\u0430 \u0432\u043d\u0435\u0441\u0435\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\r\n\r\n## AniBoom \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\r\n0. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\r\n    ```commandline\r\n    pip install anime-parsers-ru\r\n    ```\r\n    ```python\r\n    from anime_parsers_ru import AniboomParser\r\n\r\n    parser = AniboomParser()\r\n    ```\r\n    __\u0414\u043b\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430__:\r\n    ```commandline\r\n    pip install anime-parsers-ru[async]\r\n    ```\r\n    ```python\r\n    from anime_parsers_ru import AniboomParserAsync\r\n\r\n    parser = AniboomParserAsync()\r\n    # \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0435\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c await\r\n    ```\r\n\r\n1. \u041f\u043e\u0438\u0441\u043a \u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e\r\n    1. \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u043e\u0438\u0441\u043a\r\n    ```python\r\n    parser.fast_search(\"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435\")\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0432 \u0432\u0438\u0434\u0435:\r\n    ```json\r\n    [\r\n            {\r\n                \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435\",\r\n                \"year\": \"\u0413\u043e\u0434 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\",\r\n                \"other_title\": \"\u0414\u0440\u0443\u0433\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435(\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435)\",\r\n                \"type\": \"\u0422\u0438\u043f \u0430\u043d\u0438\u043c\u0435 (\u0422\u0412 \u0441\u0435\u0440\u0438\u0430\u043b\u0444\u0438\u043b\u044c\u043c, ...)\",\r\n                \"link\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439\",\r\n                \"animego_id\": \"id \u043d\u0430 \u0430\u043d\u0438\u043c\u0435\u0433\u043e (\u043f\u043e \u0441\u0443\u0442\u0438 \u0432 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0446\u0438\u0444\u0440\u0430 \u0438 \u0435\u0441\u0442\u044c id)\"\r\n            },\r\n        ]\r\n    ```\r\n    2. \u041f\u043e\u0438\u0441\u043a \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 / \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a\r\n    ```python\r\n    parser.search(\"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435\")\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439:\r\n    ```json\r\n    [\r\n        {\r\n            \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\",\r\n            \"other_titles\": [\"\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 1\", \"...\"],\r\n            \"status\": \"\u0421\u0442\u0430\u0442\u0443\u0441 \u0430\u043d\u0438\u043c\u0435 (\u043e\u043d\u0433\u043e\u0438\u043d\u0433, \u0430\u043d\u043e\u043d\u0441, \u0432\u044b\u0448\u0435\u043b, ...)\",\r\n            \"type\": \"\u0422\u0438\u043f \u0430\u043d\u0438\u043c\u0435 (\u0422\u0412 \u0441\u0435\u0440\u0438\u0430\u043b, \u0444\u0438\u043b\u044c\u043c, ...)\",\r\n            \"genres\": [\"\u0416\u0430\u043d\u04401\", \"\u0416\u0430\u043d\u04402\", \"...\"],\r\n            \"description\": \"\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\",\r\n            \"episodes\": \"\u0435\u0441\u043b\u0438 \u0430\u043d\u0438\u043c\u0435 \u0432\u044b\u0448\u043b\u043e, \u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0440\u0438\u0439, \u0435\u0441\u043b\u0438 \u0435\u0449\u0435 \u0438\u0434\u0435\u0442, \u0442\u043e '\u0432\u044b\u0448\u043b\u043e / \u0432\u0441\u0435\u0433\u043e'\",\r\n            \"episodes_info\": [\r\n                {\r\n                    \"num\": \"\u041d\u043e\u043c\u0435\u0440 \u044d\u043f\u0438\u0437\u043e\u0434\u0430\",\r\n                    \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u0430\",\r\n                    \"date\": \"\u0414\u0430\u0442\u044b \u0432\u044b\u0445\u043e\u0434\u0430 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435 \u0435\u0441\u043b\u0438 \u0430\u043d\u043e\u043d\u0441)\",\r\n                    \"status\": \"'\u0432\u044b\u0448\u043b\u043e' \u0438\u043b\u0438 '\u0430\u043d\u043e\u043d\u0441' (\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0443 \u0432\u044b\u0448\u043b\u043e \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435, \u043d\u0435 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043e)\",\r\n                },\r\n            ],\r\n            \"translations\": [\r\n                {\r\n                    \"name\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0443\u0434\u0438\u0438\",\r\n                    \"translation_id\": \"id \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 \u043f\u043b\u0435\u0435\u0440\u0435 aniboom\"\r\n                },\r\n            ],\r\n            \"poster_url\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u043e\u0441\u0442\u0435\u0440 \u0430\u043d\u0438\u043c\u0435\",\r\n            \"trailer\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u044e\u0442\u0443\u0431 embed \u0442\u0440\u0435\u0439\u043b\u0435\u0440\",\r\n            \"screenshots\": [\r\n                \"\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b\"\r\n            ],\r\n            \"other_info\": {\r\n                // \u0414\u0430\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0438\u043b\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0442\u0430\u0439\u0442\u043b\u0430\r\n                \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\": \"(\u043f\u0440\u0438\u043c: 16+)\",\r\n                \"\u0412\u044b\u043f\u0443\u0441\u043a\": \"(\u043f\u0440\u0438\u043c: \u0441 2 \u0430\u043f\u0440\u0435\u043b\u044f 2024)\",\r\n                \"\u0413\u043b\u0430\u0432\u043d\u044b\u0435 \u0433\u0435\u0440\u043e\u0438\": [\"\u0421\u043f\u0438\u0441\u043e\u043a \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0433\u0435\u0440\u043e\u0435\u0432\"],\r\n                \"\u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\": \"(\u043f\u0440\u0438\u043c: 23 \u043c\u0438\u043d. ~ \u0441\u0435\u0440\u0438\u044f)\",\r\n                \"\u041f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\": \"(\u043f\u0440\u0438\u043c: \u041b\u0435\u0433\u043a\u0430\u044f \u043d\u043e\u0432\u0432\u0435\u043b\u0430)\",\r\n                \"\u0420\u0435\u0439\u0442\u0438\u043d\u0433 MPAA\": \"(\u043f\u0440\u0438\u043c: PG-13)\",\r\n                \"\u0421\u0435\u0437\u043e\u043d\": \"(\u043f\u0440\u0438\u043c. \u0412\u0435\u0441\u043d\u0430 2024)\",\r\n                \"\u0421\u043d\u044f\u0442 \u043f\u043e \u0440\u0430\u043d\u043e\u0431\u044d\": \"\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u043d\u043e\u0431\u044d (\u0418\u043b\u0438 \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c '\u0421\u043d\u044f\u0442 \u043f\u043e \u043c\u0430\u043d\u0433\u0435')\",\r\n                \"\u0421\u0442\u0443\u0434\u0438\u044f\": \"\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0443\u0434\u0438\u0438\"\r\n            },\r\n            \"link\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439\",\r\n            \"animego_id\": \"id \u043d\u0430 \u0430\u043d\u0438\u043c\u0435\u0433\u043e (\u043f\u043e \u0441\u0443\u0442\u0438 \u0432 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0446\u0438\u0444\u0440\u0430 \u0438 \u0435\u0441\u0442\u044c id)\"\r\n        },\r\n    ]\r\n    ```\r\n2. \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u044d\u043f\u0438\u0437\u043e\u0434\u0430\u043c. \u0415\u0441\u043b\u0438 \u0432 \u0430\u043d\u0438\u043c\u0435 1 \u044d\u043f\u0438\u0437\u043e\u0434 \u0438\u043b\u0438 \u044d\u0442\u043e \u0444\u0438\u043b\u044c\u043c, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u044d\u043f\u0438\u0437\u043e\u0434\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0431\u044b\u0442\u044c.\r\n    ```python\r\n    parser.episodes_info('\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0430\u043d\u0438\u043c\u0435 \u043d\u0430 animego.org') # \u0421\u0441\u044b\u043b\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 'link'\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 \u0441\u0435\u0440\u0438\u0438 \u0441\u043f\u0438\u0441\u043e\u043a:\r\n    ```json\r\n    [   \r\n        {\r\n            \"num\": \"\u041d\u043e\u043c\u0435\u0440 \u044d\u043f\u0438\u0437\u043e\u0434\u0430\",\r\n            \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u0430\",\r\n            \"date\": \"\u0414\u0430\u0442\u044b \u0432\u044b\u0445\u043e\u0434\u0430 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435 \u0435\u0441\u043b\u0438 \u0430\u043d\u043e\u043d\u0441)\",\r\n            \"status\": \"'\u0432\u044b\u0448\u043b\u043e' \u0438\u043b\u0438 '\u0430\u043d\u043e\u043d\u0441' (\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0443 \u0432\u044b\u0448\u043b\u043e \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435, \u043d\u0435 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043e)\"\r\n        },\r\n    ]\r\n    ```\r\n3. \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0430\u043d\u0438\u043c\u0435 (\u043a\u0430\u043a \u0432 \u043f\u043e\u043b\u043d\u043e\u043c/\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0438\u0441\u043a\u0435)\r\n    ```python\r\n    parser.anime_info('\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0430\u043d\u0438\u043c\u0435 \u043d\u0430 animego.org') # \u0421\u0441\u044b\u043b\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 'link'\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c:\r\n    ```json\r\n    {\r\n        \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\",\r\n        \"other_titles\": [\"\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 1\", \"...\"],\r\n        \"status\": \"\u0421\u0442\u0430\u0442\u0443\u0441 \u0430\u043d\u0438\u043c\u0435 (\u043e\u043d\u0433\u043e\u0438\u043d\u0433, \u0430\u043d\u043e\u043d\u0441, \u0432\u044b\u0448\u0435\u043b, ...)\",\r\n        \"type\": \"\u0422\u0438\u043f \u0430\u043d\u0438\u043c\u0435 (\u0422\u0412 \u0441\u0435\u0440\u0438\u0430\u043b, \u0444\u0438\u043b\u044c\u043c, ...)\",\r\n        \"genres\": [\"\u0416\u0430\u043d\u04401\", \"\u0416\u0430\u043d\u04402\", \"...\"],\r\n        \"description\": \"\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\",\r\n        \"episodes\": \"\u0435\u0441\u043b\u0438 \u0430\u043d\u0438\u043c\u0435 \u0432\u044b\u0448\u043b\u043e, \u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0440\u0438\u0439, \u0435\u0441\u043b\u0438 \u0435\u0449\u0435 \u0438\u0434\u0435\u0442, \u0442\u043e '\u0432\u044b\u0448\u043b\u043e / \u0432\u0441\u0435\u0433\u043e'\",\r\n        \"episodes_info\": [\r\n            {\r\n                \"num\": \"\u041d\u043e\u043c\u0435\u0440 \u044d\u043f\u0438\u0437\u043e\u0434\u0430\",\r\n                \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u0430\",\r\n                \"date\": \"\u0414\u0430\u0442\u044b \u0432\u044b\u0445\u043e\u0434\u0430 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435 \u0435\u0441\u043b\u0438 \u0430\u043d\u043e\u043d\u0441)\",\r\n                \"status\": \"'\u0432\u044b\u0448\u043b\u043e' \u0438\u043b\u0438 '\u0430\u043d\u043e\u043d\u0441' (\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0443 \u0432\u044b\u0448\u043b\u043e \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435, \u043d\u0435 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043e)\",\r\n            },\r\n        ],\r\n        \"translations\": [\r\n            {\r\n                \"name\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0443\u0434\u0438\u0438\",\r\n                \"translation_id\": \"id \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 \u043f\u043b\u0435\u0435\u0440\u0435 aniboom\"\r\n            },\r\n        ],\r\n        \"poster_url\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u043e\u0441\u0442\u0435\u0440 \u0430\u043d\u0438\u043c\u0435\",\r\n        \"trailer\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u044e\u0442\u0443\u0431 embed \u0442\u0440\u0435\u0439\u043b\u0435\u0440\",\r\n        \"screenshots\": [\r\n            \"\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b\"\r\n        ],\r\n        \"other_info\": {\r\n            // \u0414\u0430\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0438\u043b\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0442\u0430\u0439\u0442\u043b\u0430\r\n            \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\": \"(\u043f\u0440\u0438\u043c: 16+)\",\r\n            \"\u0412\u044b\u043f\u0443\u0441\u043a\": \"(\u043f\u0440\u0438\u043c: \u0441 2 \u0430\u043f\u0440\u0435\u043b\u044f 2024)\",\r\n            \"\u0413\u043b\u0430\u0432\u043d\u044b\u0435 \u0433\u0435\u0440\u043e\u0438\": [\"\u0421\u043f\u0438\u0441\u043e\u043a \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0433\u0435\u0440\u043e\u0435\u0432\"],\r\n            \"\u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\": \"(\u043f\u0440\u0438\u043c: 23 \u043c\u0438\u043d. ~ \u0441\u0435\u0440\u0438\u044f)\",\r\n            \"\u041f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\": \"(\u043f\u0440\u0438\u043c: \u041b\u0435\u0433\u043a\u0430\u044f \u043d\u043e\u0432\u0432\u0435\u043b\u0430)\",\r\n            \"\u0420\u0435\u0439\u0442\u0438\u043d\u0433 MPAA\": \"(\u043f\u0440\u0438\u043c: PG-13)\",\r\n            \"\u0421\u0435\u0437\u043e\u043d\": \"(\u043f\u0440\u0438\u043c. \u0412\u0435\u0441\u043d\u0430 2024)\",\r\n            \"\u0421\u043d\u044f\u0442 \u043f\u043e \u0440\u0430\u043d\u043e\u0431\u044d\": \"\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u043d\u043e\u0431\u044d (\u0418\u043b\u0438 \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c '\u0421\u043d\u044f\u0442 \u043f\u043e \u043c\u0430\u043d\u0433\u0435')\",\r\n            \"\u0421\u0442\u0443\u0434\u0438\u044f\": \"\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0443\u0434\u0438\u0438\"\r\n        },\r\n        \"link\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439\",\r\n        \"animego_id\": \"id \u043d\u0430 \u0430\u043d\u0438\u043c\u0435\u0433\u043e (\u043f\u043e \u0441\u0443\u0442\u0438 \u0432 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0446\u0438\u0444\u0440\u0430 \u0438 \u0435\u0441\u0442\u044c id)\"\r\n    },\r\n    ```\r\n\r\n4. \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\u043c (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u043f\u043b\u0435\u0435\u0440\u0435 aniboom)\r\n    ```python\r\n    parser.get_translation_info('animego_id') # \u0421\u0441\u044b\u043b\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 'animego_id'\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439:\r\n    ```json\r\n    [\r\n        {\r\n            \"name\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0443\u0434\u0438\u0438 \u043e\u0437\u0432\u0443\u0447\u043a\u0438\",\r\n            \"translation_id\": \"id \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 \u043f\u043b\u0435\u0435\u0440\u0435 aniboom\"\r\n        }\r\n    ]\r\n    ```\r\n\r\n5. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0444\u0430\u0439\u043b\u0430 mpd (mp4 \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0439 \u043d\u0430 \u0447\u0430\u043d\u043a\u0438) \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 .mpd \u0444\u0430\u0439\u043b \u0438 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0435\u0433\u043e \u043f\u043b\u0435\u0435\u0440\u043e\u043c, \u043a\u043e\u0442\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 (\u043f\u0440\u0438\u043c: VLC PLayer), \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0435\u0440\u0438\u044e \u0431\u0435\u0437 \u0440\u0435\u043a\u043b\u0430\u043c\u044b. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0447\u0430\u043d\u043a\u0438, \u0430 \u043d\u0435 \u0441\u0430\u043c\u043e \u0432\u0438\u0434\u0435\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442. (\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ffmpeg \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432 mp4 \u0444\u043e\u0440\u043c\u0430\u0442)\r\n    ```python\r\n    parser.get_mpd_playlist('animego_id', 'episode_num', 'translation_id')\r\n    # animego_id \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 'animego_id' (\u043b\u0438\u0431\u043e \u0432\u0437\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0446\u0438\u0444\u0440\u044b \u0432 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0430\u043d\u0438\u043c\u0435 \u043d\u0430 animego.org)\r\n    # episode_num - \u043d\u043e\u043c\u0435\u0440 \u0432\u044b\u0448\u0435\u0434\u0448\u0435\u0433\u043e \u044d\u043f\u0438\u0437\u043e\u0434\u0430 (\u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u044d\u043f\u0438\u0437\u043e\u0434 \u0432\u044b\u0448\u0435\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043e\u0437\u0432\u0443\u0447\u043a\u043e\u0439)\r\n    # translation_id - id \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 \u0431\u0430\u0437\u0435 aniboom (\u041c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043b\u0438\u0431\u043e \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u0438\u0441\u043a\u0430, \u043b\u0438\u0431\u043e \u0447\u0435\u0440\u0435\u0437 anime_info, \u043b\u0438\u0431\u043e \u0447\u0435\u0440\u0435\u0437 get_translation_info)\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 - \u043a\u043e\u043d\u0442\u0435\u043d\u0442 mpd \u0444\u0430\u0439\u043b\u0430\r\n    \r\n> [!IMPORTANT]\r\n> \u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0430\u043d\u0438\u043c\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0438\u043b\u044c\u043c\u043e\u043c \u0438\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0441\u0435\u0440\u0438\u044e, \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `episode_num` \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 `0`.\r\n\r\n6. \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c mpd \u0444\u0430\u0439\u043b (\u0414\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e get_mpd_playlist)\r\n    ```python\r\n    parser.get_as_file('animego_id', 'episode_num', 'translation_id', 'filename')\r\n    # animego_id \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 'animego_id' (\u043b\u0438\u0431\u043e \u0432\u0437\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0446\u0438\u0444\u0440\u044b \u0432 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0430\u043d\u0438\u043c\u0435 \u043d\u0430 animego.org)\r\n    # episode_num - \u043d\u043e\u043c\u0435\u0440 \u0432\u044b\u0448\u0435\u0434\u0448\u0435\u0433\u043e \u044d\u043f\u0438\u0437\u043e\u0434\u0430 (\u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u044d\u043f\u0438\u0437\u043e\u0434 \u0432\u044b\u0448\u0435\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043e\u0437\u0432\u0443\u0447\u043a\u043e\u0439)\r\n    # translation_id - id \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 \u0431\u0430\u0437\u0435 aniboom (\u041c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043b\u0438\u0431\u043e \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u0438\u0441\u043a\u0430, \u043b\u0438\u0431\u043e \u0447\u0435\u0440\u0435\u0437 anime_info, \u043b\u0438\u0431\u043e \u0447\u0435\u0440\u0435\u0437 get_translation_info)\r\n    # filename - \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u044f \u0438\u043b\u0438 \u043f\u0443\u0442\u044c\r\n    ```\r\n    \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0444\u0430\u0439\u043b \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u0438\u043c\u0435\u043d\u0438/\u043f\u0443\u0442\u0438\r\n\r\n> [!IMPORTANT]\r\n> \u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0430\u043d\u0438\u043c\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0438\u043b\u044c\u043c\u043e\u043c \u0438\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0441\u0435\u0440\u0438\u044e, \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `episode_num` \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 `0`.\r\n\r\n## JutSu \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\r\n0. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\r\n    ```commandline\r\n    pip install anime-parsers-ru\r\n    ```\r\n    ```python\r\n    from anime_parsers_ru import JutsuParser\r\n\r\n    parser = JutsuParser()\r\n    ```\r\n\r\n1. \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0430\u043d\u0438\u043c\u0435 (\u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443)\r\n    ```python\r\n    parser.get_anime_info(\"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443\")\r\n    # \u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0441\u044b\u043b\u043a\u0438: https://jut.su/tondemo-skill/\r\n    # \u0414\u043b\u044f \u0430\u043d\u0438\u043c\u0435: \u041a\u0443\u043b\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0441\u043a\u0438\u0442\u0430\u043d\u0438\u044f \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u043c \u043c\u0438\u0440\u0435\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c:\r\n    ```json\r\n    {\r\n        \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435\",\r\n        \"origin_title\": \"\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 (\u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c)\",\r\n        \"age_rating\": \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\",\r\n        \"description\": \"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\",\r\n        \"years\": [\"\u0413\u043e\u0434 \u0432\u044b\u0445\u043e\u0434\u0430 1 \u0441\u0435\u0437\u043e\u043d\u0430\", \"\u0413\u043e\u0434 \u0432\u044b\u0445\u043e\u0434\u0430 2 \u0441\u0435\u0437\u043e\u043d\u0430\"],\r\n        \"genres\": [\"\u0416\u0430\u043d\u0440 1\", \"\u0416\u0430\u043d\u0440 2\"],\r\n        \"poster\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 (\u043f\u043b\u043e\u0445\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e)\",\r\n        \"seasons\": [\r\n            [ // 1 \u0441\u0435\u0437\u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0430\u043d\u0438\u043c\u0435 \u043d\u0435\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0437\u043e\u043d\u043e\u0432\r\n                \"\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 1 \u0441\u0435\u0440\u0438\u044e 1 \u0441\u0435\u0437\u043e\u043d\u0430 (\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043f\u043b\u0435\u0435\u0440\u043e\u043c)\",\r\n                \"\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 2 \u0441\u0435\u0440\u0438\u044e 1 \u0441\u0435\u0437\u043e\u043d\u0430 (\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043f\u043b\u0435\u0435\u0440\u043e\u043c)\"\r\n            ],\r\n            [ // 2 \u0441\u0435\u0437\u043e\u043d \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c\r\n                \"\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 1 \u0441\u0435\u0440\u0438\u044e 2 \u0441\u0435\u0437\u043e\u043d\u0430 (\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043f\u043b\u0435\u0435\u0440\u043e\u043c)\",\r\n                \"\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 2 \u0441\u0435\u0440\u0438\u044e 2 \u0441\u0435\u0437\u043e\u043d\u0430 (\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043f\u043b\u0435\u0435\u0440\u043e\u043c)\"\r\n            ],\r\n        ],\r\n        \"seasons_names\": [ // \u0415\u0441\u043b\u0438 \u0443 \u0430\u043d\u0438\u043c\u0435 \u0442\u043e\u043b\u044c\u043a\u043e 1 \u0441\u0435\u0437\u043e\u043d, \u044d\u0442\u043e\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u0443\u0441\u0442\u044b\u043c\r\n            \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 1 \u0441\u0435\u0437\u043e\u043d\u0430\", \r\n            \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 2 \u0441\u0435\u0437\u043e\u043d\u0430\"\r\n        ],\r\n        \"films\": [ // \u0415\u0441\u043b\u0438 \u0444\u0438\u043b\u044c\u043c\u043e\u0432 \u043d\u0435\u0442 - \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0441\u0442\u043e\u0439\r\n            \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0444\u0438\u043b\u044c\u043c 1 (\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043f\u043b\u0435\u0435\u0440\u043e\u043c)\",\r\n            \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0444\u0438\u043b\u044c\u043c 2 (\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043f\u043b\u0435\u0435\u0440\u043e\u043c)\",\r\n        ]\r\n    }\r\n    ```\r\n\r\n2. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 mp4 \u0444\u0430\u0439\u043b\r\n    ```python\r\n    parser.get_mp4_link('\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u043f\u043b\u0435\u0435\u0440\u043e\u043c')\r\n    # \u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0441\u044b\u043b\u043a\u0438: https://jut.su/tondemo-skill/episode-1.html\r\n    # \u0415\u0449\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0441\u044b\u043b\u043a\u0438: https://jut.su/ookami-to-koshinryou/season-1/episode-1.html\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c:\r\n    ```json\r\n    {\r\n        \"360\": \"\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 mp4 \u0444\u0430\u0439\u043b \u0441 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c 360p\",\r\n    }\r\n    ```\r\n\r\n> [!IMPORTANT]\r\n> \u0414\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u043d\u0438\u043c\u0435 \u0440\u0430\u0437\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u0430\u0447\u0435\u0441\u0442\u0432 \u043f\u043b\u0435\u0435\u0440\u0430. (\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \"\u041d\u0430\u0440\u0443\u0442\u043e\" \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e 360 \u0438 480, \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043d\u043e\u0432\u044b\u0445 \u0430\u043d\u0438\u043c\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e 1080)\r\n> \u0422\u0430\u043a\u0436\u0435 jutsu \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0437\u0432\u0443\u0447\u043a\u0443 \u0434\u043b\u044f \u0430\u043d\u0438\u043c\u0435.\r\n\r\n> [!NOTE]\r\n> \u0414\u043b\u044f jutsu \u043d\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u043e\u0438\u0441\u043a \u044f\u043d\u0434\u0435\u043a\u0441\u0430 \u043f\u043e \u0441\u0430\u0439\u0442\u0443 \u0438 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u043e\u043d \"\u0443\u043c\u043d\u044b\u0439\" \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e.\r\n> \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \"\u043f\u043e\u0438\u0441\u043a\u0430\" \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435. \u0422\u0430\u043a \u043a\u0430\u043a \u0441\u0441\u044b\u043b\u043a\u0430 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0445\u0435\u043c\u0435:\r\n> \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435: \u0412\u043e\u043b\u0447\u0438\u0446\u0430 \u0438 \u043f\u0440\u044f\u043d\u043e\u0441\u0442\u0438\r\n> \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435: Ookami to Koushinryou\r\n> \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443: https://jut.su/ookami-to-koshinryou/\r\n\r\n## Shikimori \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\r\n0. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\r\n    ```commandline\r\n    pip install anime-parsers-ru\r\n    ```\r\n    ```python\r\n    from anime_parsers_ru import ShikimoriParser\r\n\r\n    parser = ShikimoriParser()\r\n    ```\r\n    __\u0414\u043b\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430__:\r\n    ```commandline\r\n    pip install anime-parsers-ru[async]\r\n    ```\r\n    ```python\r\n    from anime_parsers_ru import ShikimoriParserAsync\r\n\r\n    parser = ShikimoriParserAsync(<\u0432\u0430\u0448 api \u043a\u043b\u044e\u0447>) # \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u043a\u043b\u044e\u0447\u0430, \u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0441\u0442\u044b\u043c\r\n    # \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0435\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c await\r\n    ```\r\n\r\n> [!NOTE]\r\n> \u0428\u0438\u043a\u0438\u043c\u043e\u0440\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440.\r\n> \u0415\u0441\u043b\u0438 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 520, \u043f\u0430\u0440\u0441\u0435\u0440 \u0432\u0435\u0440\u043d\u0435\u0442 exception TooManyRequests.\r\n> \u0414\u043b\u044f \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 1-3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438.\r\n\r\n1. \u041f\u043e\u0438\u0441\u043a \u0430\u043d\u0438\u043c\u0435 \u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e\r\n    ```python\r\n    parser.search('\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435')\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439:\r\n    ```json\r\n    [\r\n        {\r\n            \"genres\": [\"\u0416\u0430\u043d\u04401\", \"\u0416\u0430\u043d\u04402\"],\r\n            \"link\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0430\u043d\u0438\u043c\u0435\",\r\n            \"original_title\": \"\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 (\u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c)\",\r\n            \"poster\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u043e\u0441\u0442\u0435\u0440 \u043a \u0430\u043d\u0438\u043c\u0435 (\u043f\u043b\u043e\u0445\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e) \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0438\u043d\u0430\u0447\u0435 None\",\r\n            \"shikimori_id\": \"id \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438\",\r\n            \"status\": \"\u0441\u0442\u0430\u0442\u0443\u0441 (\u0432\u044b\u0448\u043b\u043e, \u043e\u043d\u0433\u043e\u0438\u043d\u0433, \u0430\u043d\u043e\u043d\u0441)\",\r\n            \"studio\": \"\u0441\u0442\u0443\u0434\u0438\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0438\u043d\u0430\u0447\u0435 None)\",\r\n            \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\",\r\n            \"type\": \"\u0442\u0438\u043f \u0430\u043d\u0438\u043c\u0435 (TV \u0441\u0435\u0440\u0438\u0430\u043b, OVA, ONA, ...)\",\r\n            \"year\": \"\u0433\u043e\u0434 \u0432\u044b\u0445\u043e\u0434\u0430 (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0438\u043d\u0430\u0447\u0435 None)\"\r\n        }\r\n    ]\r\n    ```\r\n\r\n2. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0430\u043d\u0438\u043c\u0435\r\n    ```python\r\n    parser.anime_info('shikimori id')\r\n    # id \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\r\n    # parser.id_by_link\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c:\r\n    ```json\r\n    {\r\n        \"dates\": \"\u0414\u0430\u0442\u044b \u0432\u044b\u0445\u043e\u0434\u0430\",\r\n        \"description\": \"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\",\r\n        \"episode_duration\": \"\u0421\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0438\u0438\",\r\n        \"episodes\": \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043f\u0438\u0445\u043e\u0434\u043e\u0432 \u0435\u0441\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 '\u0432\u044b\u0448\u043b\u043e' \u0438\u043b\u0438 '\u0432\u044b\u0448\u0435\u0434\u0448\u0438\u0445 \u044d\u043f\u0438\u0437\u043e\u0434\u043e\u0432 / \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u044d\u043f\u0438\u0437\u043e\u0434\u043e\u0432' \u0438\u043b\u0438 None (\u0435\u0441\u043b\u0438 \u0444\u0438\u043b\u044c\u043c)\",\r\n        \"genres\": [\"\u0416\u0430\u043d\u04401\", \"\u0416\u0430\u043d\u04402\"],\r\n        \"licensed\": \"\u041a\u0442\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u0432 \u0420\u0424 \u0438\u043b\u0438 None\",\r\n        \"licensed_in_ru\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435 \u043a\u0430\u043a \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u0420\u0424 \u0438\u043b\u0438 None\",\r\n        \"next_episode\": \"\u0414\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u044d\u043f\u0438\u0437\u043e\u0434\u0430 \u0438\u043b\u0438 None\",\r\n        \"original_title\": \"\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\",\r\n        \"picture\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 jpeg \u043f\u043e\u0441\u0442\u0435\u0440\",\r\n        \"premiere_in_ru\": \"\u0414\u0430\u0442\u0430 \u043f\u0440\u0435\u043c\u044c\u0435\u0440\u044b \u0432 \u0420\u0424 \u0438\u043b\u0438 None\",\r\n        \"rating\": \"\u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\",\r\n        \"score\": \"\u043e\u0446\u0435\u043d\u043a\u0430 \u043d\u0430 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438\",\r\n        \"status\": \"\u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u044b\u0445\u043e\u0434\u0430\",\r\n        \"studio\": \"\u0441\u0442\u0443\u0434\u0438\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438\",\r\n        \"themes\": [\"\u0422\u0435\u043c\u04301\", \"\u0422\u0435\u043c\u04302\"],\r\n        \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c\",\r\n        \"type\": \"\u0442\u0438\u043f \u0430\u043d\u0438\u043c\u0435 (TV \u0421\u0435\u0440\u0438\u0430\u043b, \u0424\u0438\u043b\u044c\u043c, \u0442.\u043f.)\"\r\n    }\r\n    ```\r\n\r\n3. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0430\u043d\u0438\u043c\u0435 (\u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0430\u043d\u0438\u043c\u0435 (\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438), \u0430\u0432\u0442\u043e\u0440\u044b, \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0438, \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b, \u0432\u0438\u0434\u0435\u043e, \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0430\u043d\u0438\u043c\u0435)\r\n    ```python\r\n    parser.additional_anime_info('\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438')\r\n    # \u043f\u0440\u0438\u043c: https://shikimori.one/animes/z20-naruto\r\n    ```\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c:\r\n    ```json\r\n    {\r\n        \"related\": [\r\n            {\r\n                \"date\": \"\u0414\u0430\u0442\u044b \u0432\u044b\u0445\u043e\u0434\u0430/\u0441\u0435\u0437\u043e\u043d\",\r\n                \"name\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\",\r\n                \"picture\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443\",\r\n                \"relation\": \"\u0442\u0438\u043f \u0441\u0432\u044f\u0437\u0438 (\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435, \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f, \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0438 \u0442.\u043f.)\",\r\n                \"type\": \"\u0422\u0438\u043f (TV \u0441\u0435\u0440\u0438\u0430\u043b, OVA, ONA, \u043c\u0430\u043d\u0433\u0430, \u0440\u0430\u043d\u043e\u0431\u044d \u0438 \u0442.\u0434.)\",\r\n                \"url\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438\"\r\n            }\r\n        ],\r\n        \"staff\": [\r\n            {\r\n                \"name\": \"\u0418\u043c\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 (\u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c)\",\r\n                \"roles\": [\"\u0420\u043e\u043b\u044c1\", \"\u0420\u043e\u043b\u044c2\"],\r\n                \"link\": \"\u0441\u0441\u044b\u043b\u043a\u0430 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438 \u043d\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\"\r\n            }\r\n        ],\r\n        \"main_characters\": [\r\n            {\r\n                \"name\": \"\u0418\u043c\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430\",\r\n                \"picture\": \"\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 (jpeg)\"\r\n            }\r\n        ],\r\n        \"screenshots\": [\"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 1\", \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 2\"],\r\n        \"videos\": [\r\n            {\r\n                \"name\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e\",\r\n                \"link\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e (\u043e\u0431\u044b\u0447\u043d\u043e \u044e\u0442\u0443\u0431)\"\r\n            }\r\n        ],\r\n        \"similar\": [\r\n            {\r\n                \"name\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435 (\u043f\u043e\u0445\u043e\u0436\u0435\u0433\u043e)\",\r\n                \"picture\": \"\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 (\u043f\u043e\u0441\u0442\u0435\u0440)\",\r\n                \"link\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438\"\r\n            }\r\n        ]\r\n    }\r\n    ```\r\n\r\n4. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u043d\u0438\u043c\u0435 \u0441 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438 \u043f\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u043c\r\n    ```python\r\n    parser.get_anime_list(status=['\u0441\u0442\u0430\u0442\u0443\u0441 \u0430\u043d\u0438\u043c\u04351', '\u0441\u0442\u0430\u0442\u0443\u0441 \u0430\u043d\u0438\u043c\u04352'], anime_type=['\u0442\u0438\u043f \u0430\u043d\u0438\u043c\u04351', '\u0442\u0438\u043f \u0430\u043d\u0438\u043c\u04352'], rating='\u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u0440\u044d\u0439\u0442\u0438\u043d\u0433', genres=['\u0416\u0430\u043d\u04401', '\u0416\u0430\u043d\u04402'], start_page='\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430', page_limit='\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430', sort_by='\u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438')\r\n    ```\r\n    \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b:\r\n    - status - \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u044b \u0432\u044b\u0445\u043e\u0434\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0443\u0441\u0442\u043e (\u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445))\r\n        <details>\r\n        <summary>\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432</summary>\r\n        - ongoing - \u043e\u043d\u0433\u043e\u0438\u043d\u0433\r\n        - anons - \u0430\u043d\u043e\u043d\u0441\r\n        - released - \u0432\u044b\u0448\u043b\u043e\r\n        - latest - \u0432\u044b\u0448\u043b\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e\r\n        </details>\r\n    - anime_type - \u0442\u0438\u043f\u044b \u0430\u043d\u0438\u043c\u0435 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0443\u0441\u0442\u043e (\u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445))\r\n        <details>\r\n        <summary>\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432</summary>\r\n        - tv - TV \u0421\u0435\u0440\u0438\u0430\u043b\r\n        - movie - \u0424\u0438\u043b\u044c\u043c\r\n        - ova - OVA\r\n        - ona - ONA\r\n        - special - \u0441\u043f\u0435\u0446\u0432\u044b\u043f\u0443\u0441\u043a\r\n        - tv_special - TV \u0441\u043f\u0435\u0446\u0432\u044b\u043f\u0443\u0441\u043a\r\n        - music - \u043a\u043b\u0438\u043f\r\n        - pv - \u043f\u0440\u043e\u043c\u043e\u0440\u043e\u043b\u0438\u043a\r\n        - cm - \u0440\u0435\u043a\u043b\u0430\u043c\u0430\r\n        </details>\r\n    - rating - \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u0440\u044d\u0439\u0442\u0438\u043d\u0433 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e None (\u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445))\r\n        <details>\r\n        <summary>\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u044b\u0445 \u0440\u044d\u0439\u0442\u0438\u043d\u0433\u043e\u0432</summary>\r\n        - g - \u043d\u0435\u0442 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\r\n        - pg - \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439\r\n        - pg_13 - \u0434\u0435\u0442\u044f\u043c \u0434\u043e 13 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043d\u0435 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u0435\u043d\r\n        - r - \u041b\u0438\u0446\u0430\u043c \u0434\u043e 17 \u043b\u0435\u0442 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0432\u0437\u0440\u043e\u0441\u043b\u043e\u0433\u043e\r\n        - r_plus - \u041b\u0438\u0446\u0430\u043c \u0434\u043e 17 \u043b\u0435\u0442 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\r\n        (\u0420\u044d\u0439\u0442\u0438\u043d\u0433 rx - \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u043c (\u0442.\u043a. 18+) \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u0442\u0430\u043a\u043e\u043c\u0443 \u0440\u044d\u0439\u0442\u0438\u043d\u0433\u0443 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 deep_anime_search (\u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0438\u0436\u0435))\r\n        </details>\r\n    - genres - \u0421\u043f\u0438\u0441\u043e\u043a \u0436\u0430\u043d\u0440\u043e\u0432 \u0430\u043d\u0438\u043c\u0435 (\u0441\u044e\u0434\u0430 \u0436\u0435 \u0442\u0435\u043c\u044b) (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0443\u0441\u0442\u043e (\u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445))\r\n        <details>\r\n        <summary>\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0436\u0430\u043d\u0440\u043e\u0432</summary>\r\n        \u041f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0436\u0430\u043d\u0440 \u043a\u0430\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043d\u0438\u0436\u0435\r\n        (\u0422\u043e \u0435\u0441\u0442\u044c \"{\u043d\u043e\u043c\u0435\u0440}-{\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c}\")\r\n        ```json\r\n        {\r\n            \"1-Action\": \"\u042d\u043a\u0448\u0435\u043d\",\r\n            \"2-Adventure\": \"\u041f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\",\r\n            \"3-Racing\": \"\u0413\u043e\u043d\u043a\u0438\",\r\n            \"4-Comedy\": \"\u041a\u043e\u043c\u0435\u0434\u0438\u044f\",\r\n            \"5-Avant-Garde\": \"\u0410\u0432\u0430\u043d\u0433\u0430\u0440\u0434\",\r\n            \"6-Mythology\": \"\u041c\u0438\u0444\u043e\u043b\u043e\u0433\u0438\u044f\",\r\n            \"7-Mystery\": \"\u0422\u0430\u0439\u043d\u0430\",\r\n            \"8-Drama\": \"\u0414\u0440\u0430\u043c\u0430\",\r\n            \"9-Ecchi\": \"\u042d\u0442\u0442\u0438\",\r\n            \"10-Fantasy\": \"\u0424\u044d\u043d\u0442\u0435\u0437\u0438\",\r\n            \"11-Strategy-Game\": \"\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0433\u0440\u044b\",\r\n            \"13-Historical\": \"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439\",\r\n            \"14-Horror\": \"\u0423\u0436\u0430\u0441\u044b\",\r\n            \"15-Kids\": \"\u0414\u0435\u0442\u0441\u043a\u043e\u0435\",\r\n            \"17-Martial-Arts\": \"\u0411\u043e\u0435\u0432\u044b\u0435 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0430\",\r\n            \"18-Mecha\": \"\u041c\u0435\u0445\u0430\",\r\n            \"19-Music\": \"\u041c\u0443\u0437\u044b\u043a\u0430\",\r\n            \"20-Parody\": \"\u041f\u0430\u0440\u043e\u0434\u0438\u044f\",\r\n            \"21-Samurai\": \"\u0421\u0430\u043c\u0443\u0440\u0430\u0438\",\r\n            \"22-Romance\": \"\u0420\u043e\u043c\u0430\u043d\u0442\u0438\u043a\u0430\",\r\n            \"23-School\": \"\u0428\u043a\u043e\u043b\u0430\",\r\n            \"24-Sci-Fi\": \"\u0424\u0430\u043d\u0442\u0430\u0441\u0442\u0438\u043a\u0430\",\r\n            \"25-Shoujo\": \"\u0421\u0451\u0434\u0437\u0451\",\r\n            \"27-Shounen\": \"\u0421\u0451\u043d\u0435\u043d\",\r\n            \"29-Space\": \"\u041a\u043e\u0441\u043c\u043e\u0441\",\r\n            \"30-Sports\": \"\u0421\u043f\u043e\u0440\u0442\",\r\n            \"31-Super-Power\": \"\u0421\u0443\u043f\u0435\u0440 \u0441\u0438\u043b\u0430\",\r\n            \"32-Vampire\": \"\u0412\u0430\u043c\u043f\u0438\u0440\u044b\",\r\n            \"35-Harem\": \"\u0413\u0430\u0440\u0435\u043c\",\r\n            \"36-Slice-of-Life\": \"\u041f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0441\u0442\u044c\",\r\n            \"37-Supernatural\": \"\u0421\u0432\u0435\u0440\u0445\u044a\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435\",\r\n            \"38-Military\": \"\u0412\u043e\u0435\u043d\u043d\u043e\u0435\",\r\n            \"39-Detective\": \"\u0414\u0435\u0442\u0435\u043a\u0442\u0438\u0432\",\r\n            \"40-Psychological\": \"\u041f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435\",\r\n            \"42-Seinen\": \"\u0421\u044d\u0439\u043d\u044d\u043d\",\r\n            \"43-Josei\": \"\u0414\u0437\u0451\u0441\u0435\u0439\",\r\n            \"102-Team-Sports\": \"\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u044b\u0439 \u0441\u043f\u043e\u0440\u0442\",\r\n            \"103-Video-Game\": \"\u0412\u0438\u0434\u0435\u043e\u0438\u0433\u0440\u044b\",\r\n            \"104-Adult-Cast\": \"\u0412\u0437\u0440\u043e\u0441\u043b\u044b\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0438\",\r\n            \"105-Gore\": \"\u0416\u0435\u0441\u0442\u043e\u043a\u043e\u0441\u0442\u044c\",\r\n            \"106-Reincarnation\": \"\u0420\u0435\u0438\u043d\u043a\u0430\u0440\u043d\u0430\u0446\u0438\u044f\",\r\n            \"107-Love-Polygon\": \"\u041b\u044e\u0431\u043e\u0432\u043d\u044b\u0439 \u043c\u043d\u043e\u0433\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\",\r\n            \"108-Visual-Arts\": \"\u0418\u0437\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u043e\",\r\n            \"111-Time-Travel\": \"\u041f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\",\r\n            \"112-Gag-Humor\": \"\u0413\u044d\u0433-\u044e\u043c\u043e\u0440\",\r\n            \"114-Award-Winning\": \"\u0423\u0434\u043e\u0441\u0442\u043e\u0435\u043d\u043e \u043d\u0430\u0433\u0440\u0430\u0434\",\r\n            \"117-Suspense\": \"\u0422\u0440\u0438\u043b\u043b\u0435\u0440\",\r\n            \"118-Combat-Sports\": \"\u0421\u043f\u043e\u0440\u0442\u0438\u0432\u043d\u044b\u0435 \u0435\u0434\u0438\u043d\u043e\u0431\u043e\u0440\u0441\u0442\u0432\u0430\",\r\n            \"119-CGDCT\": \"CGDCT\",\r\n            \"124-Mahou-Shoujo\": \"\u041c\u0430\u0445\u043e-\u0441\u0451\u0434\u0437\u0451\",\r\n            \"125-Reverse-Harem\": \"\u0420\u0435\u0432\u0435\u0440\u0441-\u0433\u0430\u0440\u0435\u043c\",\r\n            \"130-Isekai\": \"\u0418\u0441\u044d\u043a\u0430\u0439\",\r\n            \"131-Delinquents\": \"\u0425\u0443\u043b\u0438\u0433\u0430\u043d\u044b\",\r\n            \"134-Childcare\": \"\u0417\u0430\u0431\u043e\u0442\u0430 \u043e \u0434\u0435\u0442\u044f\u0445\",\r\n            \"135-Magical-Sex-Shift\": \"\u041c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u043c\u0435\u043d\u0430 \u043f\u043e\u043b\u0430\",\r\n            \"136-Showbiz\": \"\u0428\u043e\u0443-\u0431\u0438\u0437\u043d\u0435\u0441\",\r\n            \"137-Otaku-Culture\": \"\u041a\u0443\u043b\u044c\u0442\u0443\u0440\u0430 \u043e\u0442\u0430\u043a\u0443\",\r\n            \"138-Organized-Crime\": \"\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c\",\r\n            \"139-Workplace\": \"\u0420\u0430\u0431\u043e\u0442\u0430\",\r\n            \"140-Iyashikei\": \"\u0418\u044f\u0441\u0438\u043a\u044d\u0439\",\r\n            \"141-Survival\": \"\u0412\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435\",\r\n            \"142-Performing-Arts\": \"\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u043e\",\r\n            \"143-Anthropomorphic\": \"\u0410\u043d\u0442\u0440\u043e\u043f\u043e\u043c\u043e\u0440\u0444\u0438\u0437\u043c\",\r\n            \"144-Crossdressing\": \"\u041a\u0440\u043e\u0441\u0441\u0434\u0440\u0435\u0441\u0441\u0438\u043d\u0433\",\r\n            \"145-Idols-(Female)\": \"\u0418\u0434\u043e\u043b\u044b (\u0416\u0435\u043d.)\",\r\n            \"146-High-Stakes-Game\": \"\u0418\u0433\u0440\u0430 \u0441 \u0432\u044b\u0441\u043e\u043a\u0438\u043c\u0438 \u0441\u0442\u0430\u0432\u043a\u0430\u043c\u0438\",\r\n            \"147-Medical\": \"\u041c\u0435\u0434\u0438\u0446\u0438\u043d\u0430\",\r\n            \"148-Pets\": \"\u041f\u0438\u0442\u043e\u043c\u0446\u044b\",\r\n            \"149-Educational\": \"\u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435\",\r\n            \"150-Idols-(Male)\": \"\u0418\u0434\u043e\u043b\u044b (\u041c\u0443\u0436.)\",\r\n            \"151-Romantic-Subtext\": \"\u0420\u043e\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0442\u0435\u043a\u0441\u0442\",\r\n            \"543-Gourmet\": \"\u0413\u0443\u0440\u043c\u0430\u043d\"\r\n        }\r\n        </details>\r\n    - start_page - \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 (\u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 1) (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1)\r\n    - page_limit - \u043a\u0430\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0430\u0440\u0441\u0438\u0442\u044c (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 3)\r\n    - sort_by - \u0442\u0438\u043f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e rating)\r\n        <details>\r\n        <summary>\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043e\u043a</summary>\r\n        - rating - \u043f\u043e \u0440\u044d\u0439\u0442\u0438\u043d\u0433\u0443\r\n        - popularity - \u043f\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438\r\n        - name - \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443\r\n        - aired_on - \u043f\u043e \u0434\u0430\u0442\u0435 \u0432\u044b\u0445\u043e\u0434\u0430\r\n        - ranked_random - \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\r\n        - id_desc - \u043f\u043e id \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438\r\n        </details>\r\n\r\n    ! \u0415\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u043c (\u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445) - \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442 \u0435\u0433\u043e.\r\n\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439:\r\n    ```json\r\n    {\r\n        \"original_title\": \"\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 (\u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c)\",\r\n        \"poster\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443-\u043f\u043e\u0441\u0442\u0435\u0440\",\r\n        \"shikimori_id\": \"id \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438\",\r\n        \"title\": \"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c\",\r\n        \"type\": \"\u0422\u0438\u043f \u0430\u043d\u0438\u043c\u0435 (TV \u0421\u0435\u0440\u0438\u0430\u043b, ONA, ...)\",\r\n        \"url\": \"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0430\u043d\u0438\u043c\u0435\",\r\n        \"year\": \"\u0433\u043e\u0434 \u0432\u044b\u0445\u043e\u0434\u0430 \u0430\u043d\u0438\u043c\u0435\"\r\n    }\r\n    ```\r\n\r\n5. \u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\r\n    - \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438 \u043f\u043e id\r\n        ```python\r\n        parser.link_by_id('shikimori_id')\r\n        ```\r\n        \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0443\r\n        (id: 53446 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: https://shikimori.one/animes/53446-tondemo-skill-de-isekai-hourou-meshi)\r\n    - Id \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438\r\n        ```python\r\n        parser.id_by_link('\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443')\r\n        ```\r\n        \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 shikimori_id\r\n        (\u0441\u0441\u044b\u043b\u043a\u0430: https://shikimori.one/animes/53446-tondemo-skill-de-isekai-hourou-meshi id: 53446)\r\n\r\n6. \u041f\u043e\u0438\u0441\u043a \u0430\u043d\u0438\u043c\u0435 \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u0430\u043d\u0438\u043c\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u0441\u0435\u0432\u0434\u043e api shikimori\r\n    \u0414\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e shikimori \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f api. (https://shikimori.one/api/doc/graphql)\r\n    \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0435 [SHIKI_API.md](https://github.com/YaNesyTortiK/AnimeParsers/blob/main/SHIKI_API.md)\r\n    \r\n    - \u041f\u043e\u0438\u0441\u043a \u0430\u043d\u0438\u043c\u0435\r\n        ```python\r\n        parser.deep_search(\r\n            title='\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0435', \r\n            search_parameters={'\u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 1': '\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 1'},\r\n            return_parameters=['\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 1', '\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 2']\r\n        )\r\n        ```\r\n        \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439\r\n    \r\n    - \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0430\u043d\u0438\u043c\u0435 \u043f\u043e id\r\n        ```python\r\n        parser.deep_anime_info(\r\n            shikimori_id='id \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438',\r\n            return_parameters=['\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 1', '\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 2']\r\n        )\r\n        ```\r\n        \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c\r\n",
    "bugtrack_url": null,
    "license": "Copyright 2024 YaNesyTortiK ya.nesy.tortik.email@gmail.com  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \u201cSoftware\u201d), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \u201cAS IS\u201d, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Python package for parsing russian anime players",
    "version": "1.8.1",
    "project_urls": {
        "Homepage": "https://github.com/YaNesyTortiK/AnimeParsers",
        "Issues": "https://github.com/YaNesyTortiK/AnimeParsers/issues"
    },
    "split_keywords": [
        "anime",
        " parser",
        " kodik",
        " parsing",
        " aniboom",
        " animego",
        " jutsu",
        " shikimori",
        " \u0430\u043d\u0438\u043c\u0435",
        " \u043f\u0430\u0440\u0441\u0438\u043d\u0433",
        " \u043a\u043e\u0434\u0438\u043a",
        " \u043f\u0430\u0440\u0441\u0435\u0440",
        " \u0430\u043d\u0438\u0431\u0443\u043c",
        " \u0430\u043d\u0438\u043c\u0435\u0433\u043e",
        " \u0434\u0436\u0443\u0442\u0441\u0443",
        " \u0448\u0438\u043a\u0438\u043c\u043e\u0440\u0438"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2b1026f2d4a751c5cc553ac9622c580c0fecac7f9b734a2853c9db23556348e",
                "md5": "8922f5b67805d7b8e1e23996bbe2a4e6",
                "sha256": "88c02cdeb392bf22652936348e3c17daca273bbfe07e26c0747bf559f9d31ea1"
            },
            "downloads": -1,
            "filename": "anime_parsers_ru-1.8.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8922f5b67805d7b8e1e23996bbe2a4e6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 69555,
            "upload_time": "2024-09-27T14:17:02",
            "upload_time_iso_8601": "2024-09-27T14:17:02.189215Z",
            "url": "https://files.pythonhosted.org/packages/d2/b1/026f2d4a751c5cc553ac9622c580c0fecac7f9b734a2853c9db23556348e/anime_parsers_ru-1.8.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f2af1b19db10b94033c4de742436ae5b0e7c4d06fa35c68ad28ed9061350221",
                "md5": "26fae4608d54b6e137bc0acb884c8264",
                "sha256": "dba39ad3614406d3cd09683ac6486bd83e20cde07cd31cd6e025523829a5edb9"
            },
            "downloads": -1,
            "filename": "anime_parsers_ru-1.8.1.tar.gz",
            "has_sig": false,
            "md5_digest": "26fae4608d54b6e137bc0acb884c8264",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 69810,
            "upload_time": "2024-09-27T14:17:03",
            "upload_time_iso_8601": "2024-09-27T14:17:03.952480Z",
            "url": "https://files.pythonhosted.org/packages/3f/2a/f1b19db10b94033c4de742436ae5b0e7c4d06fa35c68ad28ed9061350221/anime_parsers_ru-1.8.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-27 14:17:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "YaNesyTortiK",
    "github_project": "AnimeParsers",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    "==",
                    "3.9.5"
                ]
            ]
        },
        {
            "name": "aiosignal",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "23.2.0"
                ]
            ]
        },
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    "==",
                    "4.12.3"
                ]
            ]
        },
        {
            "name": "build",
            "specs": [
                [
                    "==",
                    "1.2.1"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.6.2"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.3.2"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.21.2"
                ]
            ]
        },
        {
            "name": "frozenlist",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.7"
                ]
            ]
        },
        {
            "name": "importlib_metadata",
            "specs": [
                [
                    "==",
                    "8.0.0"
                ]
            ]
        },
        {
            "name": "jaraco.classes",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "jaraco.context",
            "specs": [
                [
                    "==",
                    "5.3.0"
                ]
            ]
        },
        {
            "name": "jaraco.functools",
            "specs": [
                [
                    "==",
                    "4.0.1"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "25.2.1"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    "==",
                    "5.2.2"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    "==",
                    "10.3.0"
                ]
            ]
        },
        {
            "name": "multidict",
            "specs": [
                [
                    "==",
                    "6.0.5"
                ]
            ]
        },
        {
            "name": "nh3",
            "specs": [
                [
                    "==",
                    "0.2.17"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.1"
                ]
            ]
        },
        {
            "name": "pkginfo",
            "specs": [
                [
                    "==",
                    "1.10.0"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.18.0"
                ]
            ]
        },
        {
            "name": "pyproject_hooks",
            "specs": [
                [
                    "==",
                    "1.1.0"
                ]
            ]
        },
        {
            "name": "pywin32-ctypes",
            "specs": [
                [
                    "==",
                    "0.2.2"
                ]
            ]
        },
        {
            "name": "readme_renderer",
            "specs": [
                [
                    "==",
                    "43.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.7.1"
                ]
            ]
        },
        {
            "name": "soupsieve",
            "specs": [
                [
                    "==",
                    "2.5"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    "==",
                    "5.1.1"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.2.2"
                ]
            ]
        },
        {
            "name": "yarl",
            "specs": [
                [
                    "==",
                    "1.9.4"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.19.2"
                ]
            ]
        }
    ],
    "lcname": "anime-parsers-ru"
}
        
Elapsed time: 3.19948s