Настройка модуля Серий сериала из любого API (у каждой серии своя страница)

Регистрация
15 Дек 2017
Сообщения
5,067
#1
bestapi.png

Больше нет необходимости ждать от API, чтобы они привели его к «best practices» виду. Теперь Вы можете исправить любое API и использовать его для модуля Серии.

API (Application programming interface) - программный интерфейс приложения, именно через него работают и взаимодействуют между собой программы. Создавая API, многие не до конца понимают, что с API будут работать программы, а не люди. Поэтому не всегда придерживаются каких-либо стандартов или правил, иногда из-за незнания, а иногда из-за того, что API создаются для собственных проектов и программ, поэтому делают его «абы как».

В API не должно быть таких путей, в которые невозможно попасть для получения данных.

На иллюстрации к посту Вы видите как выглядит удачное API, когда к любому значению программа с лёгкостью попадает, и ей не нужно знать заранее о неизвестных ключах.
Неудачное API выглядит так, когда только зная заранее о том, что ключ называется 2 и затем ключ называется 10, только в таком случае можно пробраться к названию.
  • Обновите Ваш установочный файл: cinemapress upd
  • Обновите Вашу систему: cinemapress update
В этом обновлении, Вы сможете получать серии сериалов из абсолютно любого API, у которого эта информация есть. Теперь даже самые неудачные API, Вы сможете преобразовать в массив и с лёгкостью получать данные о сезоне и серии.

На примере случайного API, давайте сделаем его пригодным для программного использования.

К примеру по адресу: https://example.com/api?imdb_id=[imdb_id]

Открывается JSON:

JSON:
{
    "data": {
        "seasons": {
            "1": {
                "season": 1,
                "episodes": {
                    "1": {
                        "episode": 1,
                        "translation": {
                            "87": {
                                "translation": "Профессиональный многоголосый"
                            }
                        }
                    }
                }
            }
        }
    }
}

В нём никуда невозможно зайти data.seasons.1.episodes.1.translation.87.translation, так как Вы не знаете ключа сезона, эпизода, и перевода.

Поэтому запрос делаете так: https://example.com/api?imdb_id=[imdb_id] <> data.seasons

И теперь JSON преобразовывается и выглядит так:

JSON:
{
    "data": {
        "seasons": [
            {
                "key": "1",
                "value": {
                    "season": 1,
                    "episodes": {
                        "1": {
                            "episode": 1,
                            "translation": {
                                "87": {
                                    "translation": "Профессиональный многоголосый"
                                }
                            }
                        }
                    }
                }
            }
        ]
    }
}

Вы seasons сделали массовом, в key попадает ключ который был раньше у объекта, а в value - весь прежний объект.

Теперь Вы уже имеете возможность пройти дальше data.seasons.0.value.episodes.1.translation.87.translation, но Вы всё еще не знаете ключ эпизода и перевода.

Для этого, через запятую Вы можете преобразовать к правильному виду все нужные объекты в массивы, делается это так:

https://example.com/api?imdb_id=[imdb_id] <> data.seasons, data.seasons.0.value.episodes, data.seasons.0.value.episodes.0.value.translation

И преобразованный API выглядит так:

JSON:
{
    "data": {
        "seasons": [
            {
                "key": "1",
                "value": {
                    "season": 1,
                    "episodes": [
                        {
                            "key": "1",
                            "value": {
                                "episode": 1,
                                "translation": [
                                    {
                                        "key": "87",
                                        "value": {
                                            "translation": "Профессиональный многоголосый"
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    }
}

Для программы открыты все пути, например чтобы получить перевод: data.seasons.0.value.episodes.0.value.translation.0.value.translation

Возможно это довольно трудно для понимания, поэтому вот готовые строки с преобразованием для существующих API.

Получение серий сериала на странице сериала по API

1616336743744.png

Результат на сайте:

firefox_XNXIQyDhbZ.png

firefox_tYx5ecuzbu.png

  • API Alloha: https://api.alloha.tv/?token=04941a9a3ca3ac16e2b4327347bbc1&kp=[kp_id] <> data.seasons, data.seasons.0.value.episodes, data.seasons.0.value.episodes.0.value.translation ~ data.seasons.0.key ~ data.seasons.0.value.episodes.0.key ~ data.seasons.0.value.episodes.0.value.translation.0.value.translation

  • API Collaps: https://api.bhcesh.me/franchise/details?token=eedefb541aeba871dcfc756e6b31c02e&kinopoisk_id=[kp_id] ~ seasons.0.season ~ seasons.0.episodes.0.episode ~ seasons.0.episodes.0.voiceActing

  • API Bazon: https://bazon.cc/api/search?token=2848f79ca09d4bbbf419bcdb464b4d11&kp=[kp_id] <> results.0.episodes, results.0.episodes.0.value ~ results.0.episodes.0.key ~ results.0.episodes.0.value.0.key ~ results.0.translation

  • API HDVB: https://apivb.info/api/videos.json?token=5e2fe4c70bafd9a7414c4f170ee1b192&id_kp=[kp_id] ~ 0.serial_episodes.0.season_number ~ 0.serial_episodes.0.episodes.0 ~ 0.translator

  • API Kodik: https://kodikapi.com/search?token=b7cc4293ed475c4ad1fd599d114f4435&with_episodes=true&kinopoisk_id=[kp_id] <> results.0.seasons, results.0.seasons.0.value.episodes ~ results.0.seasons.0.key ~ results.0.seasons.0.value.episodes.0.key ~ results.0.translation.title

Получение последних серий сериала на главной по API

1616337955324.png

Результат на сайте (обновляется раз в час):

firefox_RvsHmACAn2.png

  • API Alloha: https://api.alloha.tv/?token=04941a9a3ca3ac16e2b4327347bbc1&order=date&list=serial <> data.0.seasons, data.0.seasons.0.value.episodes, data.0.seasons.0.value.episodes.0.value.translation ~ data.0.id_kp ~ data.0.seasons.0.key ~ data.0.seasons.0.value.episodes.0.key ~ data.0.seasons.0.value.episodes.0.value.translation.0.value.translation

  • API Collaps: https://api.bhcesh.me/list?token=eedefb541aeba871dcfc756e6b31c02e&type=serials&limit=100 ~ results.0.kinopoisk_id ~ results.0.seasons.0.season ~ results.0.seasons.0.episodes.0.episode

  • API Bazon: https://bazon.cc/api/json/?token=2848f79ca09d4bbbf419bcdb464b4d11&type=serial <> results.0.episodes, results.0.episodes.0.value ~ results.0.kinopoisk_id ~ results.0.episodes.0.key ~ results.0.episodes.0.value.0.key ~ results.0.translation

  • API HDVB: https://apivb.info/api/serials_updates.json?token=5e2fe4c70bafd9a7414c4f170ee1b192 ~ items.0.kinopoisk_id ~ items.0.serial_episodes.0.season_number ~ items.0.serial_episodes.0.episodes.0 ~ items.0.translator

  • API Kodik: https://kodikapi.com/list?token=b7cc4293ed475c4ad1fd599d114f4435&limit=100&with_episodes=true <> results.0.seasons, results.0.seasons.0.value.episodes ~ results.0.kinopoisk_id ~ results.0.seasons.0.key ~ results.0.seasons.0.value.episodes.0.key ~ results.0.translation.title

  • API Videocdn: https://videocdn.tv/api/tv-series?api_token=EnbO9h8pv1VyjbCJhg0WM9nG259n7mtz&ordering=id&direction=desc&limit=100 ~ data.0.kinopoisk_id ~ data.0.episodes.0.season_num ~ data.0.episodes.0.num ~ data.0.episodes.0.media.0.translation.short_title
 
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#2
@Alisa публикуются серии для сериалов которых нет на сайте при переходе по ним 404 ошибка, ну может в админке они и есть, но в разделе публикации у меня выставлены определенные настройки, как сделать так, чтобы инфа подгружаласьб именно для тех типов фильмов, сериалов или аниме для которых я выставил настройки
 
Енот
Новичо́к, через «о́»
Регистрация
3 Апр 2020
Сообщения
404
#3
@Alisa публикуются серии для сериалов которых нет на сайте при переходе по ним 404 ошибка, ну может в админке они и есть, но в разделе публикации у меня выставлены определенные настройки, как сделать так, чтобы инфа подгружаласьб именно для тех типов фильмов, сериалов или аниме для которых я выставил настройки
@Alisa, тоже самое для модуля случайный фильм. Берёт фильмы которых нет на сайте.
 
Регистрация
15 Дек 2017
Сообщения
5,067
#4
@Alisa публикуются серии для сериалов которых нет на сайте при переходе по ним 404 ошибка, ну может в админке они и есть, но в разделе публикации у меня выставлены определенные настройки, как сделать так, чтобы инфа подгружаласьб именно для тех типов фильмов, сериалов или аниме для которых я выставил настройки
Список серий обновляется раз в час.
В списке все фильмы придерживаются правил настройки Публикации.
@Alisa, тоже самое для модуля случайный фильм. Берёт фильмы которых нет на сайте.
В коллекции с коротой берутся фильмы для случайного фильма, должны быть только те фильмы, которые доступны на сайте.
Если коллекция автоматическая, в нее попадают только доступные на сайте фильмы.
 
Енот
Новичо́к, через «о́»
Регистрация
3 Апр 2020
Сообщения
404
#6
Список серий обновляется раз в час.
В списке все фильмы придерживаются правил настройки Публикации.

В коллекции с коротой берутся фильмы для случайного фильма, должны быть только те фильмы, которые доступны на сайте.
Если коллекция автоматическая, в нее попадают только доступные на сайте фильмы.
а как насчёт главной страницы?
 
Регистрация
15 Дек 2017
Сообщения
5,067
#9
Сейчас на главной нет этого сериала.
Он отфильтровался.
Серии обновляются раз в час.

При редактировании этого сериала, по какому именно фильтру он попадает, год, страна, постер?
 
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#10
Сейчас на главной нет этого сериала.
Он отфильтровался.
Серии обновляются раз в час.

При редактировании этого сериала, по какому именно фильтру он попадает, год, страна, постер?
Это турецкий сериал, 2019 года,

"Китай" | "Япония" | " Тайвань" | "Южная Корея" | "Таиланд" | "Индонезия" | "Филиппины" | "Вьетнам" | "Малайзия" | "Сингапур" | "Гонконг" | "Корея" вот список стран, которые я указал в настройках автопубликации
 
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#11
Но все равно эти фильтры не срабатывают, серии появляются как я понял для всех сериалов которые спарсились
 
Регистрация
15 Дек 2017
Сообщения
5,067
#12
Вы хотите, чтобы из Kodik брались только аниме? Без турецких сериалов и фильмов?
 
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#13
Вы хотите, чтобы из Kodik брались только аниме? Без турецких сериалов и фильмов?
Из кодик все, что нужно уже спарсилось около 20к фильмов и сериалов, я хочу чтобы в настройках публикации срабатывал фильтр, который я указал, и чтобы серии парсились для тех кинокартин для которых сработал фильтр их около 7к, остальное фильтр отсеял
 
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#14
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#15
https://doramasia.ru/mobile-version/movie/id1354101-da-ya-pauk-i-chto-zhe/s1e11_Amazing-Dubbing вот еще один только зде проблема такая, он подходит по фильтр, но не отображается, не знаю почему, и мне нужны, и фильмы, и сериалы, и аниме
Вроде и описание и постер, и названия все подгрузились, но не отображается 404 ошибка, и такого контента немало на сайте, как решить данную проблему?
 
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#16
"Китай" | "Япония" | " Тайвань" | "Южная Корея" | "Таиланд" | "Индонезия" | "Филиппины" | "Вьетнам" | "Малайзия" | "Сингапур" | "Гонконг" | "Корея" вот список стран, которые я указал в настройках автопубликации
может я не так перечислил нужные страны, нужно ликовычки, эту инфу я взял еще со старой версии
 
Енот
Новичо́к, через «о́»
Регистрация
3 Мар 2018
Сообщения
360
#18

Больше нет необходимости ждать от API, чтобы они привели его к «best practices» виду. Теперь Вы можете исправить любое API и использовать его для модуля Серии.

API (Application programming interface) - программный интерфейс приложения, именно через него работают и взаимодействуют между собой программы. Создавая API, многие не до конца понимают, что с API будут работать программы, а не люди. Поэтому не всегда придерживаются каких-либо стандартов или правил, иногда из-за незнания, а иногда из-за того, что API создаются для собственных проектов и программ, поэтому делают его «абы как».

В API не должно быть таких путей, в которые невозможно попасть для получения данных.

На иллюстрации к посту Вы видите как выглядит удачное API, когда к любому значению программа с лёгкостью попадает, и ей не нужно знать заранее о неизвестных ключах.
Неудачное API выглядит так, когда только зная заранее о том, что ключ называется 2 и затем ключ называется 10, только в таком случае можно пробраться к названию.
  • Обновите Ваш установочный файл: cinemapress upd
  • Обновите Вашу систему: cinemapress update
В этом обновлении, Вы сможете получать серии сериалов из абсолютно любого API, у которого эта информация есть. Теперь даже самые неудачные API, Вы сможете преобразовать в массив и с лёгкостью получать данные о сезоне и серии.

На примере случайного API, давайте сделаем его пригодным для программного использования.

К примеру по адресу: https://example.com/api?imdb_id=[imdb_id]

Открывается JSON:

JSON:
{
    "data": {
        "seasons": {
            "1": {
                "season": 1,
                "episodes": {
                    "1": {
                        "episode": 1,
                        "translation": {
                            "87": {
                                "translation": "Профессиональный многоголосый"
                            }
                        }
                    }
                }
            }
        }
    }
}

В нём никуда невозможно зайти data.seasons.1.episodes.1.translation.87.translation, так как Вы не знаете ключа сезона, эпизода, и перевода.

Поэтому запрос делаете так: https://example.com/api?imdb_id=[imdb_id] <> data.seasons

И теперь JSON преобразовывается и выглядит так:

JSON:
{
    "data": {
        "seasons": [
            {
                "key": "1",
                "value": {
                    "season": 1,
                    "episodes": {
                        "1": {
                            "episode": 1,
                            "translation": {
                                "87": {
                                    "translation": "Профессиональный многоголосый"
                                }
                            }
                        }
                    }
                }
            }
        ]
    }
}

Вы seasons сделали массовом, в key попадает ключ который был раньше у объекта, а в value - весь прежний объект.

Теперь Вы уже имеете возможность пройти дальше data.seasons.0.value.episodes.1.translation.87.translation, но Вы всё еще не знаете ключ эпизода и перевода.

Для этого, через запятую Вы можете преобразовать к правильному виду все нужные объекты в массивы, делается это так:

https://example.com/api?imdb_id=[imdb_id] <> data.seasons, data.seasons.0.value.episodes, data.seasons.0.value.episodes.0.value.translation

И преобразованный API выглядит так:

JSON:
{
    "data": {
        "seasons": [
            {
                "key": "1",
                "value": {
                    "season": 1,
                    "episodes": [
                        {
                            "key": "1",
                            "value": {
                                "episode": 1,
                                "translation": [
                                    {
                                        "key": "87",
                                        "value": {
                                            "translation": "Профессиональный многоголосый"
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    }
}

Для программы открыты все пути, например чтобы получить перевод: data.seasons.0.value.episodes.0.value.translation.0.value.translation

Возможно это довольно трудно для понимания, поэтому вот готовые строки с преобразованием для существующих API.

Получение серий сериала на странице сериала по API


  • API Alloha: https://api.alloha.tv/?token=04941a9a3ca3ac16e2b4327347bbc1&kp=[kp_id] <> data.seasons, data.seasons.0.value.episodes, data.seasons.0.value.episodes.0.value.translation ~ data.seasons.0.key ~ data.seasons.0.value.episodes.0.key ~ data.seasons.0.value.episodes.0.value.translation.0.value.translation

  • API Collaps: https://api.bhcesh.me/franchise/details?token=eedefb541aeba871dcfc756e6b31c02e&kinopoisk_id=[kp_id] ~ seasons.0.season ~ seasons.0.episodes.0.episode ~ seasons.0.episodes.0.voiceActing

  • API Bazon: https://bazon.cc/api/search?token=2848f79ca09d4bbbf419bcdb464b4d11&kp=[kp_id] <> results.0.episodes, results.0.episodes.0.value ~ results.0.episodes.0.key ~ results.0.episodes.0.value.0.key ~ results.0.translation

  • API HDVB: https://apivb.info/api/videos.json?token=5e2fe4c70bafd9a7414c4f170ee1b192&id_kp=[kp_id] ~ 0.serial_episodes.0.season_number ~ 0.serial_episodes.0.episodes.0 ~ 0.translator

  • API Kodik: https://kodikapi.com/search?token=b7cc4293ed475c4ad1fd599d114f4435&with_episodes=true&kinopoisk_id=[kp_id] <> results.0.seasons, results.0.seasons.0.value.episodes ~ results.0.seasons.0.key ~ results.0.seasons.0.value.episodes.0.key ~ results.0.translation.title

Получение последних серий сериала на главной по API

Посмотреть вложение 5706

Результат на сайте (обновляется раз в час):

Посмотреть вложение 5705

  • API Alloha: https://api.alloha.tv/?token=04941a9a3ca3ac16e2b4327347bbc1&order=date&list=serial <> data.0.seasons, data.0.seasons.0.value.episodes, data.0.seasons.0.value.episodes.0.value.translation ~ data.0.id_kp ~ data.0.seasons.0.key ~ data.0.seasons.0.value.episodes.0.key ~ data.0.seasons.0.value.episodes.0.value.translation.0.value.translation

  • API Collaps: https://api.bhcesh.me/list?token=eedefb541aeba871dcfc756e6b31c02e&type=serials&limit=100 ~ results.0.kinopoisk_id ~ results.0.seasons.0.season ~ results.0.seasons.0.episodes.0.episode

  • API Bazon: https://bazon.cc/api/json/?token=2848f79ca09d4bbbf419bcdb464b4d11&type=serial <> results.0.episodes, results.0.episodes.0.value ~ results.0.kinopoisk_id ~ results.0.episodes.0.key ~ results.0.episodes.0.value.0.key ~ results.0.translation

  • API HDVB: https://apivb.info/api/serials_updates.json?token=5e2fe4c70bafd9a7414c4f170ee1b192 ~ items.0.kinopoisk_id ~ items.0.serial_episodes.0.season_number ~ items.0.serial_episodes.0.episodes.0 ~ items.0.translator

  • API Kodik: https://kodikapi.com/list?token=b7cc4293ed475c4ad1fd599d114f4435&limit=100&with_episodes=true <> results.0.seasons, results.0.seasons.0.value.episodes ~ results.0.kinopoisk_id ~ results.0.seasons.0.key ~ results.0.seasons.0.value.episodes.0.key ~ results.0.translation.title

  • API Videocdn: https://videocdn.tv/api/tv-series?api_token=EnbO9h8pv1VyjbCJhg0WM9nG259n7mtz&ordering=id&direction=desc&limit=100 ~ data.0.kinopoisk_id ~ data.0.episodes.0.season_num ~ data.0.episodes.0.num ~ data.0.episodes.0.media.0.translation.short_title
почему у меня так показывает ?

episodelist.png
 
Енот
Новичо́к, через «о́»
Регистрация
23 Сен 2021
Сообщения
81
#24
Всем привет!
На странице серий меню разных сезонов (class="episodesListBlock") отображается следующим образом:

serie.png


В некоторых странах номер сезона указывается после слова season, а номер эпизода — после слова episode. Можно ли сделать так?

Код:
► season 1 (season + season number)

    ► season 1 episode 1 (season + season number + episode + episode number)
    ► season 1 episode 2
    ► season 1 episode 3
    ► season 1 episode 4
    ► season 1 episode 5
    ► season 1 episode 6
    ► season 1 episode 7
    ► season 1 episode 8
    ► season 1 episode 9

► season 2
► season 3
► season 4
► season 5
► season 6
Я пытался изменить эту часть кода несколько раз:

Код:
(h.textContent = "► " + n[i][u][m].translate + " " + n[i][u][m].season + " " + n[i][u][m].episode),
(l.textContent = "► " + n[i][u][m].translate + " " + n[i][u][m].season + " " + n[i][u][m].episode),
(g.textContent = "► " + n[i][u][m].translate + " " + n[i][u][m].season),
Как это:

Код:
(h.textContent = "► " + n[i][u][m].translate + " " + season.n[i][u][m] + " " + episode.n[i][u][m]),
(l.textContent = "► " + n[i][u][m].translate + " " + n[i][u][m].season + " " + n[i][u][m].episode),
(g.textContent = "► " + n[i][u][m].translate + " " + seasonn.n[i][u][m]),
https://github.com/CinemaPress/CinemaPress/blob/master/modules/CP_episode.js#L134

Но это не работает. У кого-нибудь есть идеи?

Заранее спасибо.
С уважением
 
Енот
Новичо́к, через «о́»
Регистрация
23 Сен 2021
Сообщения
81
#25
ладно я разобрался как сделать, это была еще история с
Код:
.split(" ").reverse().join(" ")
Код:
(h.textContent = "► " + n[i][u][m].translate + " " + n[i][u][m].season.split(" ").reverse().join(" ") + " " + n[i][u][m].episode.split(" ").reverse().join(" ")),
(l.textContent = "► " + n[i][u][m].translate + " " + n[i][u][m].season + " " + n[i][u][m].episode),
(g.textContent = "► " + n[i][u][m].translate + " " + n[i][u][m].season.split(" ").reverse().join(" ")),
Теперь в меню правильно отображаются названия сезонов и серий (y)

season.png

С уважением
 
Последнее редактирование:
Енот
Новичо́к, через «о́»
Регистрация
23 Сен 2021
Сообщения
81
#26
Всем привет

У меня проблема с дисплеем, и я не знаю, как это исправить. Раньше меню сезонов и серий на странице movie.ejs и Episode.ejs выглядело так:

Код:
► Season 1
 ► Episode 1
 ► Episode 2
 ► Episode 3
 ► Episode 4
 ► Episode 5
► Season 2
 ► Episode 1
 ► Episode 2
 ► Episode 3
 ► Episode 4
 ► Episode 5
11.png


111.png

Код:
► Subtitles LostFilm 2 Season 11 Episode
► Subtitles LostFilm Season 1
  ► Subtitles LostFilm Episode 1
  ► Subtitles LostFilm Episode 2
  ► Subtitles LostFilm Episode 3
  ► Subtitles LostFilm Episode 4
  ► Subtitles LostFilm Episode 5
  ► Subtitles LostFilm Episode 6
  ► Subtitles LostFilm Episode 7
  ► Subtitles LostFilm Episode 8
  ► Subtitles LostFilm Episode 9
  ► Subtitles LostFilm Episode 10
  ► Subtitles LostFilm Episode 11
  ► Subtitles LostFilm Episode 12
  ► Subtitles LostFilm Episode 13
  ► Subtitles LostFilm Episode 14
  ► Subtitles LostFilm Episode 15
► Subtitles LostFilm Season 2
  ► Subtitles LostFilm Episode 1
  ► Subtitles LostFilm Episode 2
  ► Subtitles LostFilm Episode 3
  ► Subtitles LostFilm Episode 4
  ► Subtitles LostFilm Episode 5
  ► Subtitles LostFilm Episode 6
  ► Subtitles LostFilm Episode 7
  ► Subtitles LostFilm Episode 8
  ► Subtitles LostFilm Episode 9
  ► Subtitles LostFilm Episode 10
  ► Subtitles LostFilm Episode 11
► Subtitles HDrezka Studio 2 Season 11 Episode
► Subtitles HDrezka Studio Season 1
  ► Subtitles HDrezka Studio Episode 1
  ► Subtitles HDrezka Studio Episode 2
  ► Subtitles HDrezka Studio Episode 3
  ► Subtitles HDrezka Studio Episode 4
  ► Subtitles HDrezka Studio Episode 5
  ► Subtitles HDrezka Studio Episode 6
  ► Subtitles HDrezka Studio Episode 7
  ► Subtitles HDrezka Studio Episode 8
  ► Subtitles HDrezka Studio Episode 9
  ► Subtitles HDrezka Studio Episode 10
  ► Subtitles HDrezka Studio Episode 11
  ► Subtitles HDrezka Studio Episode 12
  ► Subtitles HDrezka Studio Episode 13
  ► Subtitles HDrezka Studio Episode 14
  ► Subtitles HDrezka Studio Episode 15
► Subtitles HDrezka Studio Season 2
  ► Subtitles HDrezka Studio Episode 1
  ► Subtitles HDrezka Studio Episode 2
  ► Subtitles HDrezka Studio Episode 3
  ► Subtitles HDrezka Studio Episode 4
  ► Subtitles HDrezka Studio Episode 5
  ► Subtitles HDrezka Studio Episode 6
  ► Subtitles HDrezka Studio Episode 7
  ► Subtitles HDrezka Studio Episode 8
  ► Subtitles HDrezka Studio Episode 9
  ► Subtitles HDrezka Studio Episode 11
► Subtitles Кириллица 1 Season 14 Episode
► Subtitles Кириллица Season 1
  ► Subtitles Кириллица Episode 1
  ► Subtitles Кириллица Episode 2
  ► Subtitles Кириллица Episode 3
  ► Subtitles Кириллица Episode 4
  ► Subtitles Кириллица Episode 5
  ► Subtitles Кириллица Episode 6
  ► Subtitles Кириллица Episode 7
  ► Subtitles Кириллица Episode 8
  ► Subtitles Кириллица Episode 9
  ► Subtitles Кириллица Episode 10
  ► Subtitles Кириллица Episode 11
  ► Subtitles Кириллица Episode 12
  ► Subtitles Кириллица Episode 13
  ► Subtitles Кириллица Episode 14
► Subtitles Украинский 2 Season 8 Episode
  ► Subtitles Украинский Season 1
  ► Subtitles Украинский Episode 1
  ► Subtitles Украинский Episode 2
  ► Subtitles Украинский Episode 3
  ► Subtitles Украинский Episode 4
  ► Subtitles Украинский Episode 5
  ► Subtitles Украинский Episode 6
  ► Subtitles Украинский Episode 7
  ► Subtitles Украинский Episode 8
  ► Subtitles Украинский Episode 9
  ► Subtitles Украинский Episode 10
  ► Subtitles Украинский Episode 11
  ► Subtitles Украинский Episode 12
  ► Subtitles Украинский Episode 13
  ► Subtitles Украинский Episode 14
  ► Subtitles Украинский Episode 15
► Subtitles Украинский Season 2
  ► Subtitles Украинский Episode 1
  ► Subtitles Украинский Episode 2
  ► Subtitles Украинский Episode 3
  ► Subtitles Украинский Episode 4
  ► Subtitles Украинский Episode 5
  ► Subtitles Украинский Episode 6
  ► Subtitles Украинский Episode 7
  ► Subtitles Украинский Episode 8
  ► Subtitles KerobTV 2 Season 11 Episode
► Subtitles KerobTV Season 2
  ► Subtitles KerobTV Episode 1
  ► Subtitles KerobTV Episode 2
  ► Subtitles KerobTV Episode 3
  ► Subtitles KerobTV Episode 4
  ► Subtitles KerobTV Episode 5
  ► Subtitles KerobTV Episode 6
  ► Subtitles KerobTV Episode 7
  ► Subtitles KerobTV Episode 8
  ► Subtitles KerobTV Episode 9
  ► Subtitles KerobTV Episode 10
  ► Subtitles KerobTV Episode 11
► Subtitles undefined undefined Season undefined Episode
► Subtitles undefined Season undefined
  ► Subtitles undefined Episode undefined
► 2 Season 15 Episode
  ► Season 1
  ► Episode 1
  ► Episode 2
  ► Episode 3
  ► Episode 4
  ► Episode 5
  ► Episode 6
  ► Episode 7
  ► Episode 8
  ► Episode 9
  ► Episode 10
  ► Episode 11
  ► Episode 12
  ► Episode 13
  ► Episode 14
  ► Episode 15
► Season 2
  ► Episode 1
  ► Episode 2
  ► Episode 3
  ► Episode 4
  ► Episode 5
  ► Episode 6
  ► Episode 7
  ► Episode 8
  ► Episode 9
  ► Episode 10
  ► Episode 11
  ► Episode 12
  ► Episode 13
  ► Episode 14
  ► Episode 15

22.png
222.png

Мне не нужны все эти меню. Можно ли просто отобразить:

Код:
► Season 1
 ► Episode 1
 ► Episode 2
 ► Episode 3
 ► Episode 4
 ► Episode 5
► Season 2
 ► Episode 1
 ► Episode 2
 ► Episode 3
 ► Episode 4
 ► Episode 5
Последовательный модуль настроен так

Код:
/api?token=9b24679ee2abc8ca012ca4b07223739f&id=[id] ~ result.players.0.season ~ result.players.0.episode

http://api.tvmaze.com/shows/[tvmaze_id]?embed=episodes ~ _embedded.episodes.0.season ~ _embedded.episodes.0.number

https://api.themoviedb.org/3/[type]/[tmdb_id]?language=fr-FR&append_to_response=videos&api_key=460ebf95d547465f4bb7fe28169ed4a0~ "Bande annonce 1" ~ videos.results.0.key <> https://www.youtube.com/embed/_VALUE_ ~ videos.results.0.key <> https://img.youtube.com/vi/_VALUE_/sddefault.jpg

https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=1&key=AIzaSyA81WwYgjlGFBYbroqsK-Ac-iD0aqWulwQ&q=[title]%20%2D%20bande%20annonce%20officielle%20VF%20[year]&relevanceLanguage=fr ~ "Bande annonce 2" ~ items.0.id.videoId <> https://www.youtube.com/embed/_VALUE_ ~ items.0.id.videoId <> https://img.youtube.com/vi/_VALUE_/sddefault.jpg

https://api.alloha.tv/?token=04941a9a3ca3ac16e2b4327347bbc1&tmdb=[tmdb_id] <> data.seasons, data.seasons.0.value.episodes, data.seasons.0.value.episodes.0.value.translation ~ data.seasons.0.key ~ data.seasons.0.value.episodes.0.key ~ data.seasons.0.value.episodes.0.value.translation.0.value.translation
Когда я удаляю:

Код:
https://api.alloha.tv/?token=04941a9a3ca3ac16e2b4327347bbc1&tmdb=[tmdb_id] <> data.seasons, data.seasons.0.value.episodes, data.seasons.0.value.episodes.0.value.translation ~ data.seasons.0.key ~ data.seasons.0.value.episodes.0.key ~ data.seasons.0.value.episodes.0.value.translation.0.value.translation
after.png


after2.png

Почему у меня всегда это отображается на странице:

Код:
► Subtitles undefined undefined Season undefined Episode
► Subtitles undefined Season undefined
  ► Subtitles undefined Episode undefined
► 2 season 15 Episode
Вместо этого:

Код:
► Season 1
 ► Episode 1
 ► Episode 2
 ► Episode 3
 ► Episode 4
 ► Episode 5
► Season 2
 ► Episode 1
 ► Episode 2
 ► Episode 3
 ► Episode 4
 ► Episode 5
Когда я нажимаю ► Subtitles undefined Episode undefined я перенаправляюсь на:

https://www.example.com/id-100095063-superman-and-lois/sundefinedeundefined_undefined

404.png

Так мне это не нужно, как мне это удалить?

Заранее спасибо.
С уважением
 
Последнее редактирование:
Енот
Новичо́к, через «о́»
Регистрация
30 Мар 2018
Сообщения
138
#27
1653584800453.png


там код в одну строку, очень неудобно
https://github.com/CinemaPress/CinemaPress/blob/master/modules/CP_episode.js#L134

но если его править, чисто править строки вывода можно как-то привести к внятному формату

"► "+n[i][u][m].translate+" "+n[i][u][m].season+" "+n[i][u][m].episode

если не нужен translate то так

"► "+n[m].season+" "+n[m].episode
 
Енот
Новичо́к, через «о́»
Регистрация
30 Мар 2018
Сообщения
138
#29
а еще лучше, написать это в ejs в шаблоне movie.ejs чтобы все эти ссылки серий индексировались, но пожертвовать скоростью страницы
 
Енот
Новичо́к, через «о́»
Регистрация
23 Сен 2021
Сообщения
81
#30
Посмотреть вложение 6499

там код в одну строку, очень неудобно
https://github.com/CinemaPress/CinemaPress/blob/master/modules/CP_episode.js#L134

но если его править, чисто править строки вывода можно как-то привести к внятному формату

"► "+n[i][u][m].translate+" "+n[i][u][m].season+" "+n[i][u][m].episode

если не нужен translate то так

"► "+n[m].season+" "+n[m].episode
мне кажется лучше свою логику написать под ванильный колапс без библиотек

https://codepen.io/datchley/pen/Jvdryy

api с json тянется с /episode?id=ИД_сериала
а еще лучше, написать это в ejs в шаблоне movie.ejs чтобы все эти ссылки серий индексировались, но пожертвовать скоростью страницы
Спасибо за ответ @cosmos (y) Наконец, поиграв с настройками в последовательном модуле, я смог нормально отображать меню серии. Именно это меню undefined я не мог удалить:

Код:
► Subtitles undefined undefined Season undefined Episode
► Subtitles undefined Season undefined
  ► Subtitles undefined Episode undefined
Это показывалось с кодом по умолчанию, который находится в Серии на веб-странице сериала:

Код:
/api?token=TEST&id=[id] ~ "" ~ result.embed <> _VALUE_?season=[season]&episode=[episode]

/api?token=TEST&id=[id] ~ "Trailer" ~ result.trailer

https://api.themoviedb.org/3/[type]/[tmdb_id]?language=en&append_to_response=videos&api_key=269890f657dddf4635473cf4cf456576 ~ "Trailer (TMDb)" ~ videos.results.0.key <> https://www.youtube.com/embed/_VALUE_ ~ videos.results.0.key <> https://img.youtube.com/vi/_VALUE_/sddefault.jpg

https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=1&key=AIzaSyCsT5C4pBFWpzyP4hEOen2ZBhn26AhMCkM&q=[title]%20[year]%20trailer ~ "Trailer (YouTube)" ~ items.0.id.videoId <> https://www.youtube.com/embed/_VALUE_ ~ items.0.id.videoId <> https://img.youtube.com/vi/_VALUE_/sddefault.jpg
Поняв, почему у меня был undefined, я добавил эту строку:

Код:
https://api.alloha.tv/?token=04941a9a3ca3ac16e2b4327347bbc1&tmdb=[tmdb_id] <> data.seasons, data.seasons.0.value.episodes, data.seasons.0.value.episodes.0.value.translation ~ data.seasons.0.key ~ data.seasons.0.value.episodes.0.key ~ data.seasons.0.value.episodes.0.value.translation.0.value.translation
и даже с этой строкой он продолжал появляться:

3.png

Я понял, что строка с Alloha API запускает меню с субтитрами, однако даже когда я деактивировал эту строку, у меня все равно появлялось меню undefined. Я еще не определил причину, но эта проблема возникает у меня время от времени, когда в на веб-странице сериала активируются эти 4 строки:

Код:
/api?token=9b24679ee2abc8ca012ca4b07223739f&id=[id] ~ result.players.0.season ~ result.players.0.episode

http://api.tvmaze.com/shows/[tvmaze_id]?embed=episodes ~ _embedded.episodes.0.season ~ _embedded.episodes.0.number

https://api.themoviedb.org/3/[type]/[tmdb_id]?language=en-US&append_to_response=videos&api_key=269890f657dddf4635473cf4cf456576~ "Trailer 1" ~ videos.results.0.key <> https://www.youtube.com/embed/_VALUE_ ~ videos.results.0.key <> https://img.youtube.com/vi/_VALUE_/sddefault.jpg

https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=1&key=AIzaSyCsT5C4pBFWpzyP4hEOen2ZBhn26AhMCkM&q=[title]%20official%20trailer%20[year] ~ "Trailer 2" ~ items.0.id.videoId <> https://www.youtube.com/embed/_VALUE_ ~ items.0.id.videoId <> https://img.youtube.com/vi/_VALUE_/sddefault.jpg

и я кое-что меняю здесь:

1.png



2.png


Когда это происходит со мной, я отключаю 4 строки в Серии на веб-странице сценария, я стираю то, что я изменил в Параметры по умолчанию, сохраняю, а затем повторно активирую 4 строки. Таким образом, я могу изменить Параметры по умолчанию без повторного появления меню undefined.

Отключив и снова включив последовательный модуль, это не сработало, если на 4 строках я отключил только 1, 2 или 3 строки, это тоже не сработало, меню undefined по-прежнему отображалось, даже если http://api.tvmaze.com/shows/[tvmaze_id]?embed=episodes ~ _embedded.episodes.0.season ~ _embedded.episodes.0.number был деактивирован.Поэтому я деактивировал сохраненные 4 линии, а затем повторно активировал линии. Сейчас все вернулось как раньше, странно, может это баг в скрипте.

33.png

4.png

after2.png

5.png

С уважением
 
Енот
Новичо́к, через «о́»
Регистрация
23 Сен 2021
Сообщения
81
#31
Сегодня после посещения моего сайта меню undefined снова вернулось в меню эпизодов. Проведя несколько тестов, я пришел к выводу, что эта ошибка возникает из-за моего YouTube Data key API v3.

1.png


2.png

Я восстановил ключ, чтобы получить новый, но у меня все еще есть та же ошибка. С другой стороны, если я использую любой другой ключ, найденный на этом форуме, Hапример: AIzaSyCsT5C4pBFWpzyP4hEOen2ZBhn26AhMCkM, меню undefined не появляется, оно появляется только тогда, когда я вставляю свой собственный ключ API Youtube. Я не понимаю, потому что в модуле плеера у меня нет ошибки с этим ключом, и трейлер отображается нормально:

4.png


3.png

Решение, которое на данный момент работает, состоит в том, чтобы не активировать строку https://www.googleapis.com/youtube/v3/search[...] в модуле эпизодов, а активировать ее в модуле проигрывателя фильмов в /cinemaplayer/trailer. Я надеюсь, что в этот раз это сработает.

С уважением
 
Енот
Новичо́к, через «о́»
Регистрация
13 Янв 2018
Сообщения
536
#32
Сегодня после посещения моего сайта меню undefined снова вернулось в меню эпизодов. Проведя несколько тестов, я пришел к выводу, что эта ошибка возникает из-за моего YouTube Data key API v3.


Я восстановил ключ, чтобы получить новый, но у меня все еще есть та же ошибка. С другой стороны, если я использую любой другой ключ, найденный на этом форуме, Hапример: AIzaSyCsT5C4pBFWpzyP4hEOen2ZBhn26AhMCkM, меню undefined не появляется, оно появляется только тогда, когда я вставляю свой собственный ключ API Youtube. Я не понимаю, потому что в модуле плеера у меня нет ошибки с этим ключом, и трейлер отображается нормально:


Решение, которое на данный момент работает, состоит в том, чтобы не активировать строку https://www.googleapis.com/youtube/v3/search[...] в модуле эпизодов, а активировать ее в модуле проигрывателя фильмов в /cinemaplayer/trailer. Я надеюсь, что в этот раз это сработает.

С уважением
Лимит может нужно увеличить, где то на форуме я видел ключи с увеличенным лимитом
 
Енот
Новичо́к, через «о́»
Регистрация
23 Сен 2021
Сообщения
81
#33
Лимит может нужно увеличить, где то на форуме я видел ключи с увеличенным лимитом
Я также думал, что это может быть связано с квотами API YouTube, но это не потому, что строка с API Google отлично работает в trailer.ejs, как на картинке выше.

У меня такая ошибка только на movie.ejs и Episode.ejs, как только активирую строку с гугл апи в Плеер > CinemaPlayer API: /cinemaplayer/information.

Поэтому я не активирую строку google api в Плеер > CinemaPlayer API: /cinemaplayer/information, но в Плеер > CinemaPlayer API: /cinemaplayer/trailer, вроде работает хорошо.

Спасибо за помощь @Kazik (y)