Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Модуль для проставления id кинопоиска

Тема в разделе "Вопросы- ответы", создана пользователем Spaweb, 23 май 2016.

23.05.16 в 18:13
29.06.16 в 20:02
44
4.686
0
  1. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    нихуяси это просто ппц был, всё думал что за шляпа у меня с заменами, а оказалось просто банально кодировка замены и сайта были разные :eek: всё поправил с учетом всех замен, и теперь нормально всё стало...
     
    • Нравится Нравится x 1
  2. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    @byroot, Поправил.
    upload_2016-5-24_22-9-42.png

    PHP:
    <?php
    if( ! defined'DATALIFEENGINE' ) ) die("I have nothing to say to you");

    // ОБЯЗАТЕЛЬНО ЗАПОЛНИТЕ ДАННЫЕ ОПЦИИ СВОИМИ ЗНАЧЕНИЯМИ!
    $ololo_opt = array (
        
    'field_prem' => 'blablabla'// Доп поле, куда будут записываться данные.
    );

    // ДАЛЕЕ НИЧЕГО НЕ ТРОГАТЬ!
    $newsid is_numeric($newsid) ? intval($newsid) : false; if(!$newsid) return;
    if(
    $kpid === false) return;

    $kpid str_replace(':'','$kpid);
    $kpid str_replace('&laquo;'','$kpid);
    $kpid str_replace('&raquo;'','$kpid);
    $kpid str_replace('...'','$kpid);
    $kpid str_replace('-'','$kpid);
    $kpid str_replace('/'','$kpid);
    $kpid str_replace(' '','$kpid);

    $kpid str_replace('1'',один'$kpid);
    $kpid str_replace('2'',два'$kpid);
    $kpid str_replace('3'',три'$kpid);
    $kpid str_replace('4'',четыре'$kpid);
    $kpid str_replace('5'',пять'$kpid);
    $kpid str_replace('6'',шесть'$kpid);
    $kpid str_replace('7'',семь'$kpid);
    $kpid str_replace('8'',восемь'$kpid);
    $kpid str_replace('9'',девять'$kpid);

    urlencode($kpid);

    $xf_row $db->super_query("SELECT xfields FROM " PREFIX "_post WHERE `id`='{$newsid}'");
    $xfieldsdata xfieldsdataload($xf_row["xfields"]);
    $db->free();
    if(empty(
    $xfieldsdata[$ololo_opt["field_prem"]]))
    {

        
    $api_result file_get_contents('http://api.kinopoisk.cf/searchGlobal?keyword='.$kpid);
        
    $api_result json_decode($api_resulttrue);
        
    $xfieldsdata[$ololo_opt["field_prem"]] = $api_result['youmean']['id'];

    foreach(
    $xfieldsdata as $key => $value$arr_field[] = $key "|" str_replace(array('|',"'"), array('&#124;','&#039;'), $value);
    $xfieldsdata implode("||"$arr_field);
    $db->query"UPDATE " PREFIX "_post SET xfields = '$xfieldsdata' WHERE `id`='{$newsid}'");
    }
    unset(
    $arr_field);
    unset(
    $ololo_opt);
    $db->free();
    ?>
    Заменить в файле ololo.php на выше. И обязательно перекодировать файл в ту кодировку в которой работает сайт!
     
    • Нравится Нравится x 2
  3. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    Молорик))
     
  4. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    с этим кодом другая проблема, 1408, 1+1, 14, 13.... и много других фильмов не будут добавлены :( себе пока сделал замены с пробелами перед цифрами...
     
  5. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    @byroot, если не вру можно такое на регулярках обработать, ну или наверно проще в ручную)
     
  6. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    @Intention, буду пробовать старый сайт прогнать сначала на локалке... посмотрю каков процент заполнения будет :) если почти всё заполнит, то мелочи с двух/трех/четырех значными названиями в фильмах можно и руками проставить.
     
    • Нравится Нравится x 1
  7. Pavel

    Pavel Местный

    Регистрация:
    7 ноя 2015
    Сообщения:
    1.680
    Лучших ответов:
    0
    Рейтинги:
    +785 / 0 / -0
    Вдруг кому пригодится : я делал через яндекс xml .
    Примерно так:
    Код:
    $search=$filmname.' site:kinopoisk.ru/film'; //поисковый запрос
             
                $yandexxml='Тут строка для запроса к яндекс xml, получаете ее в яндекс xml, только нужно вырезать из нее сам поисковый запрос';
                $yandexxml.='&'.http_build_query(array('query'=>$search));
                $xml=file_get_contents($yandexxml);
                $obj=simplexml_load_string($xml);
                $json = json_encode($obj);
                $array = json_decode($json,TRUE);
                $url=$array['response']['results']['grouping']['group'][0]['doc']['url'];
                preg_match('/^http\:\/\/www\.kinopoisk\.ru\/film\/([0-9]+)\/.*$/i', $url, $matches);
                $kpid=$matches[1];
    Ну а дальше там уже у себя че надо обновляете.
     
    • Нравится Нравится x 1
  8. Владимир Козлов

    Регистрация:
    15 июн 2015
    Сообщения:
    19
    Лучших ответов:
    0
    Рейтинги:
    +7 / 0 / -0
    хоть автор api и говорил что пробелы нужно заменять запятой, я лично заменяю точкой, по моему так нахождение более точное
    пару примеров:
    8,лучших,свиданий (с запятой)
    8.лучших.свиданий (с точкой)

    еще пара киношек:
    форсаж,5 (запятая)
    форсаж.5 (точка)
    За реализацию спасибо, давно такое искал, да еще хотел спросить, а запрос каждый раз будет отправляться к api или только если поле с id не заполнено
     
    • Нравится Нравится x 1
  9. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
     
  10. sevswat

    sevswat Новичок

    Регистрация:
    10 май 2016
    Сообщения:
    31
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
    никак не работает(
    что за такая переменная title_buffer ??? отдающая результат NULL ?)
     
    #30 sevswat, 4 июн 2016
    Последнее редактирование: 4 июн 2016
  11. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    в строке подключения используй {title} или если русское название заполнено в доп поле - то доп поле указывай для title=
     
  12. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    в dle 11 она отдает TITLE новости. Как в более ранних версиях сказать не могу
     
  13. sevswat

    sevswat Новичок

    Регистрация:
    10 май 2016
    Сообщения:
    31
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
    использовал, результат такой же нулевой не работает dle 11.
     
  14. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    тогда ничем помочь тебе никто не сможет :D
    код который выше - нерабочий :eek:

    только у меня он на 11-й ДЛЕ и на 10.6 работал почему-то :rolleyes: прямо мистика какая-то o_O
     
    • Нравится Нравится x 1
  15. sevswat

    sevswat Новичок

    Регистрация:
    10 май 2016
    Сообщения:
    31
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
    спасибо я уже таки и понял это :D
    Свой напиши, др выхода нету. ;)
     
    • Нравится Нравится x 1
  16. Anton55

    Anton55 Зелёный

    Регистрация:
    7 ноя 2015
    Сообщения:
    3
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    @byroot, @Intention, объясните пожалуйста нубу как работает код?:)

    1) создаю файлик ololo.php в той кодировке что кодировке DLe
    2) blablabla меняю на название своего доп поля, куда хочу id вписать.
    3) добавляю по нужной строчке в шаблоне полной новости и /engine/modules/show.full.php

    id будет прописываться лишь когда на страницу кто то будет заходить из пользователей?
    или сразу идет запускается процесс простановки id для всех новостей ?
     
  17. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    Только при посещении страницы
     
    • Нравится Нравится x 1
  18. vasili

    vasili Бывалый

    Регистрация:
    12 июн 2016
    Сообщения:
    333
    Лучших ответов:
    0
    Рейтинги:
    +20 / 3 / -0
    добрый вечер мне тожы нужын примерно такой модуль граббер id с кинопойска кто то может помочь мне по написанию модуля если кто то может написать такой модуль пишите в лс или в почту [email protected] обговарим цену и функсиональ модуля.
     
  19. razrushutel

    razrushutel Посетитель

    Регистрация:
    15 ноя 2015
    Сообщения:
    83
    Лучших ответов:
    1
    Рейтинги:
    +6 / 0 / -0
    Подскажите как искать не из title а из доп.поля?
     
  20. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    указать в строке подключения не {title} а доп поле :eek: неужели не очевидно?
     
    • Нравится Нравится x 1
Похожие темы
  1. Serhii
    Ответов:
    27
    Просмотров:
    3.984
  2. XVISTA
    Ответов:
    63
    Просмотров:
    8.395
  3. Apehdgo
    Ответов:
    8
    Просмотров:
    3.470
  4. Apehdgo
    Ответов:
    8
    Просмотров:
    3.439
  5. Black Cat
    Ответов:
    60
    Просмотров:
    6.592
Загрузка...
Яндекс.Метрика