Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрипт вывода рейтинга КиноПоиска и IMDb (https://javascript.ru/forum/dom-window/81951-skript-vyvoda-rejjtinga-kinopoiska-i-imdb.html)

AlphaPro 19.02.2021 15:50

Скрипт вывода рейтинга КиноПоиска и IMDb
 
Всем доброго времени суток! Прошу вашей помощи в таком деле. Есть скрипт, который выводит рейтинг фильма с сайта КиноПоиск и IMDb. Собственно вот он:

var KP_SITE_ID = $AUTHOR_SITE$; 
var getFilmRatingDataPAGE = function getFilmRatingDataPAGE(element, idt, callback) { 
var id = element ? element.data('filmid') : idt; 
$.ajax({ method: 'GET', url: 'https://cors-anywhere.herokuapp.com/https://rating.kinopoisk.ru/' + id + '.xml', success: function success(data) { callback(element, data); }, error: function error() { 
$.ajax({ url: 'http://query.yahooapis.com/v1/public/yql', jsonp: "callback", dataType: "jsonp", data: { q: 'select * from xml where url="https://rating.kinopoisk.ru/' + id + '.xml"', format: 'xml' }, success: function success(data) { 
if (data.results[0]) { callback(element, data.results[0]); } } }); } }); }; 
var renderFilmPageRatingDataPAGE = function(element, data) { 
$('#imdb_num_vote').text($(data).find('imdb_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); 
$('#imdb-page-rating').text($(data).find('imdb_rating').text()).prop('title', 'Голосов: ' + $(data).find('imdb_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); }; 
if (KP_SITE_ID) { getFilmRatingDataPAGE(false, KP_SITE_ID, renderFilmPageRatingDataPAGE); } 
var renderFilmPageRatingDataPAGE = function(element, data) { 
$('#kp_num_vote').text($(data).find('kp_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); 
$('#kp-page-rating').text($(data).find('kp_rating').text()).prop('title', 'Голосов: ' + $(data).find('kp_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); }; 
if (KP_SITE_ID) { getFilmRatingDataPAGE(false, KP_SITE_ID, renderFilmPageRatingDataPAGE); }


$AUTHOR_SITE$ - Код который подставляет ID фильма на КиноПоиске

Рейтинг выводился в 2 блока:

<div class="rate-count"> 
<div class="imdb-count"><span id="imdb-page-rating">0</span><small>IMDB</small></div>
<div class="kp-count"><span id="kp-page-rating">0</span><small>КиноПоиск</small></div> 
</div>


До конца прошлой недели все работало, и в один прекрасный день перестало. Сам рейтинг скрипт берёт со страницы: https://rating.kinopoisk.ru/404900.xml

404900 - ID сериала "Во все тяжкие" для примера

После того как перестал работать скрипт, я заменил http://query.yahooapis.com/v1/public/yql на https://rating.kinopoisk.ru/$AUTHOR_SITE$.xml в скрипте, и он заработал, на несколько часов и снова перестал.

На сайте где выложили этот скрипт, подсказали следующее:

"Посмотрел консоль браузера - там дело не в yahoo. Всё из-за:
https://cors-anywhere.herokuapp.com/....kinopoisk.ru/
От множественных запросов, видимо, сделали защиту - чтобы получить доступ к демо-версии сервиса, то нужно зайти на этот сайт-прокладку и нажать там кнопку, потом скрипт ретинга заработает. Если с этим не получиться, то есть еще такой сервис: www.whateverorigin.org"


Собственно вопрос в том, что имею всю эту информацию можно как-то вернуть это всё к жизни? Ибо из Java я знаю только мотоцикл. Спасибо заранее, и извините если вопрос дурацкий.

sivith 25.02.2021 09:07

Пользую данным скриптом заменил https://cors-anywhere.herokuapp.com/ на https://api.allorigins.win/get?callback=myFunc&url= и скрип заработал

AlphaPro 27.02.2021 09:53

Спасибо!

Huskyd 25.11.2021 05:53

Нужный скрипт, жаль что не работает уже


Часовой пояс GMT +3, время: 16:40.