- Регистрация
- 30.09.2022
- Сообщения
- 468
- Реакции
- 84
Если у Вас после установки сайта уже есть фильмы, Вам их лучше все удалить и заново наполнить с помощью автозаполнения.
После получения, делаете обход только первой страницы для получения новых аниме каждый час (удаляете
Если Вы будете использовать только базу Kodik, для информации о фильмах, то можете сделать основными несколько ID (IMDb + КиноПоиск + Shikimori), вместо одного ID КиноПоиска. В таком случае Вам удастся выгрузить абсолютно все аниме, которые у них есть. Учтите что у них много повторов, неточностей и дублей контента. Одно и то же аниме может добавиться по несколько раз.
Основные моменты, которые стоит понять, чтобы самому составлять такие строки получения информации.
Параметры разделяются волнистой чертой -
Если у параметра несколько функций, разделение знаком меньше-больше -
Первый параметр, это кратность часов, с которой система будет выполнять команду:
Теперь создаёте новую автоматическую коллекцию, например
- Удаление всех фильмовиз автоматической базы делается командой:
cinemapress zero
- Удаление всех фильмов, которые Вы видите в админ-панели делается командой:
cinemapress zero_realtime
Код:
# Заполнение всей информции с kodik, и основным делать ID КиноПоиска.
0 ~ http://kodikapi.com/list?limit=100&with_material_data=true&token=45c53578f11ecfb74e31267b634cc6a8&page=[page][next_page] ~ results ~ ~ kinopoisk_id <> kp_id ~ material_data.title <> title_ru ~ material_data.title_en <> title_en ~ material_data.year <> year ~ material_data.description <> description ~ material_data.poster_url <> poster ~ material_data.screenshots <> pictures ~ material_data.countries <> country ~ material_data.genres <> genre ~ material_data.premiere_world <> premiere ~ material_data.actors <> actor ~ material_data.directors <> director ~ type <> type
# Заполнение ID IMDb для фильмов, у которых уже есть ID КиноПоиска.
0 ~ http://kodikapi.com/list?limit=100&with_material_data=true&token=45c53578f11ecfb74e31267b634cc6a8&page=[page][next_page] ~ results ~ ~ kinopoisk_id <> kp_id ~ imdb_id <> custom.imdb_id
# Заполнение ID Shikimori для фильмов, у которых уже есть ID КиноПоиска.
0 ~ http://kodikapi.com/list?limit=100&with_material_data=true&token=45c53578f11ecfb74e31267b634cc6a8&page=[page][next_page] ~ results ~ ~ kinopoisk_id <> kp_id ~ shikimori_id <> custom.movie_id
# Заполнение ID TMDb + постер + красивое фото для фильмов, у которых уже есть ID IMDb
0 ~ db ~ custom.imdb_id ~ https://api.themoviedb.org/3/find/tt[imdb_id]?api_key=269890f657dddf4635473cf4cf456576&external_source=imdb_id ~ movie_results.0.id <> custom.tmdb_id <> 1 ~ movie_results.0.poster_path <> poster <> 1 ~ movie_results.0.backdrop_path <> pictures <> 1
# Заполнение ID TMDb + постер + красивое фото для сериалов, у которых уже есть ID IMDb
0 ~ db ~ custom.imdb_id ~ https://api.themoviedb.org/3/find/tt[imdb_id]?api_key=269890f657dddf4635473cf4cf456576&external_source=imdb_id ~ tv_results.0.id <> custom.tmdb_id <> 1 ~ tv_results.0.poster_path <> poster <> 1 ~ tv_results.0.backdrop_path <> pictures <> 1
# Заполнение рейтинга КиноПоиск и IMDb, напрямую с КиноПоиска.
0 ~ db ~ kp_id ~ https://rating.kinopoisk.ru/[id].xml ~ rating.kp_rating._attributes.num_vote <> kp_vote ~ rating.kp_rating._text <> kp_rating ~ rating.imdb_rating._attributes.num_vote <> imdb_vote ~ rating.imdb_rating._text <> imdb_rating
После получения, делаете обход только первой страницы для получения новых аниме каждый час (удаляете
&page=[page][next_page]
)
Код:
# Заполнение всей информции с kodik, и основным делать ID КиноПоиска.
1 ~ http://kodikapi.com/list?limit=100&with_material_data=true&token=45c53578f11ecfb74e31267b634cc6a8 ~ results ~ ~ kinopoisk_id <> kp_id ~ material_data.title <> title_ru ~ material_data.title_en <> title_en ~ material_data.year <> year ~ material_data.description <> description ~ material_data.poster_url <> poster ~ material_data.screenshots <> pictures ~ material_data.countries <> country ~ material_data.genres <> genre ~ material_data.premiere_world <> premiere ~ material_data.actors <> actor ~ material_data.directors <> director ~ type <> type
# Заполнение ID IMDb для фильмов, у которых уже есть ID КиноПоиска.
1 ~ http://kodikapi.com/list?limit=100&with_material_data=true&token=45c53578f11ecfb74e31267b634cc6a8 ~ results ~ ~ kinopoisk_id <> kp_id ~ imdb_id <> custom.imdb_id
# Заполнение ID Shikimori для фильмов, у которых уже есть ID КиноПоиска.
1 ~ http://kodikapi.com/list?limit=100&with_material_data=true&token=45c53578f11ecfb74e31267b634cc6a8 ~ results ~ ~ kinopoisk_id <> kp_id ~ shikimori_id <> custom.movie_id
Если Вы будете использовать только базу Kodik, для информации о фильмах, то можете сделать основными несколько ID (IMDb + КиноПоиск + Shikimori), вместо одного ID КиноПоиска. В таком случае Вам удастся выгрузить абсолютно все аниме, которые у них есть. Учтите что у них много повторов, неточностей и дублей контента. Одно и то же аниме может добавиться по несколько раз.
Код:
# Заполнение всей информции с kodik, и основным делать ID КиноПоиска или ID IMDb или ID Shikimori.
0 ~ http://kodikapi.com/list?limit=100&with_material_data=true&token=45c53578f11ecfb74e31267b634cc6a8&page=[page][next_page] ~ results ~ ~ kinopoisk_id <> kp_id ~ imdb_id <> custom.imdb_id ~ shikimori_id <> custom.movie_id ~ material_data.title <> title_ru ~ material_data.title_en <> title_en ~ material_data.year <> year ~ material_data.description <> description ~ material_data.poster_url <> poster ~ material_data.screenshots <> pictures ~ material_data.countries <> country ~ material_data.genres <> genre ~ material_data.premiere_world <> premiere ~ material_data.actors <> actor ~ material_data.directors <> director ~ type <> type
# Заполнение ID TMDb + постер + красивое фото для фильмов, у которых уже есть ID IMDb
# Код выше
# Заполнение ID TMDb + постер + красивое фото для сериалов, у которых уже есть ID IMDb
# Код выше
# Заполнение рейтинга КиноПоиск и IMDb, напрямую с КиноПоиска.
# Код выше
Основные моменты, которые стоит понять, чтобы самому составлять такие строки получения информации.
Параметры разделяются волнистой чертой -
~
Если у параметра несколько функций, разделение знаком меньше-больше -
<>
Первый параметр, это кратность часов, с которой система будет выполнять команду:
- 0 - команду можно запустить только по кнопке
- 4 - каждые 4 часа
- 23 - раз в день в 23 часа
https://example.com/api?page=1
- зайти только на первую страницу APIhttps://example.com/api?page=[page]
- пройтись по всем страницам 1,2,3,... пока API будет отдавать успешные ответыhttps://example.com/api?page=[page][data.next_page]
- переход на след. страницу API по URL, который находится в свойстве{data: {next_page: 'https://example.com/api?page=2'}}
database или db или пустое поле
- получение всех фильмов с Вашей локальной базы данныхxmlpipe2
- получение фильмов с автоматической базы (у Вас там может быть 40к и больше фильмов)saved
- получение всех фильмов из JSON файлов в папке/files/saved/
lastmod
- получение всех фильмов, которые были обновлены в течении последнего часа, например Вы добавляете фильм из разных API у которых рейтинг не всегда актуальный, Вы сразу в след. строке можете прописать им рейтинг, который Вы получите напрямую с КиноПоиска
results.0.id
- путь к ID из JSON API спискаresults
- если четвертый параметр пустой, то Вы можете дать путь к массиву и сразу из него получать всю информацию о фильмеcustom.imdb_id
- если второй параметр локальная база, то Вы можете из нее получить любое ID, например IMDbпустое поле
- можно оставлять пустым, если получаете из локальной базы, в этом случае ID будет считаться ID КиноПоиска
https://example.com/api?id=[id]
- вместо [id] система подставит ID из третьего параметраhttps://rating.kinopoisk.ru/[id].xml
- Вы можете использовать и XML, который преобразуется в JSON[url]
- если второй параметр состоит из массива URL-адресов, то указав , Вы говорите пройтись по всем адресам API
data.actors <> actor
- добавление массива actors в поле базы сайта actorresults.0.id <> custom.tmdb_id
- добавление{results: [ { id: '111' } ]}
в кастомное поле базы сайтаcustom.tmdb_id
data.directors <> director <> 1
- добавление только одного режиссера из массива directors в поле базы сайта directordata.genres <> genre <> <> <> "_VALUE_".split(",")
- если жанры имеют в списке лишние пробелы, напримеркомедия, драма, ужасы
Вы можете разделить их по запятой"_VALUE_".split(",")
и система сама всё корректно занесет в базукомедия,драма,ужасы
. Это eval команда и Вы можете ипользовать в ней любые JS функции._VALUE_
- используйте если data.genres является строкой и_OBJECT_
- если является объектом.
Теперь создаёте новую автоматическую коллекцию, например
anime-dorama
и выводите её на главной. http://kodikapi.com/list?token=b7cc4293ed475c4ad1fd599d114f4435 ~ results.0.kinopoisk_id ~ anime-dorama