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

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

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

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

23.05.16 в 18:13
29.06.16 в 20:02
44
4.706
0
  1. TopicStarter Overlay
    Spaweb

    Команда форума VIP Кинотрафик v2

    Регистрация:
    14 мар 2016
    Сообщения:
    48
    Лучших ответов:
    0
    Рейтинги:
    +11 / 0 / -0
    Привет Всем!

    Нужен модуль для проставления ID Кинопоиска (по названиях спарсить).
    Т.е. есть много фильмов и сериалов без заполенного поля ID Кинопоиска.

    Нужно по названию (или по названию и году) получить от кинопоиска ID и записать в доп поле.

    кто может реализовать?
    стоимость и сроки?
     
  2. Marques

    PRO Users

    Регистрация:
    12 апр 2015
    Сообщения:
    1.885
    Лучших ответов:
    0
    Рейтинги:
    +693 / 3 / -0
    • Нравится Нравится x 1
  3. Жека

    Команда форума VIP Кинотрафик v2

    Регистрация:
    16 авг 2015
    Сообщения:
    1.248
    Лучших ответов:
    0
    Рейтинги:
    +570 / 9 / -0
    Если найдешь ответ оповести =)
     
  4. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    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 = preg_replace("/[^a-zA-ZА-Яа-я\s]/", "", $kpid);
    $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);
    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();
    ?>
    PHP:
    /engine/modules/show.full.php
    Найти
    $tpl->set'{title}'$row['title'] );
    Ниже$tpl->set'{title2}'$title_buffer preg_replace("/\s\([^)]+\)/"""$title_buffer) );

    fullstory.tpl
    {include file="/engine/modules/ololo.php?newsid={news-id}&kpid={title2}"}
     
  5. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    А че модули не работают с БД????
     
  6. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    @Intention, додскажи какой-нибудь простой crawler чтоб прогнать сайт, а то Visual SEO Studio уже стала платной и лимит там всего 500 ссылок, WebSite Auditor игнорирует все мои выключенные проверки, и сканирует сайт 20+ часов, но столько ждать - это не реально... :( раньше всё первой программой все быстро выходило при чтении карты сайта, и проблем не было с этим.
     
  7. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    вопрос отпал! нашёл у себя netspeak cheker, там есть проверка только титлов страниц, тем самым идёт открытие новости... поставил один поток с задержкой 500мс между запросами, посмотрю как всё проставится и сколько времени это займёт на 24+к ссылок :)
     
  8. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    @Intention, вот ещё заметил:
    в названиях где цифры надо цифры менять на текст. Сделал так:
    PHP:
    $title str_replace(' 2'' два'$title);
    $title str_replace(' 3'' три'$title);
    $title str_replace(' 4'' четыре'$title);
    $title str_replace(' 5'' пять'$title);
    при попытке запроса http://api.kinopoisk.cf/searchGlobal?keyword=один,дома,три в youmean проставляется верная часть фильма, а вот в пхп что то то что добавил не особо и работает, и все равно попадает фильм по запросу http://api.kinopoisk.cf/searchGlobal?keyword=один,дома,3 o_O

    Неужели замену не верно написал что она не срабатывает?
     
    • Нравится Нравится x 1
  9. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    @byroot, Я netpeak spider'ом прогонял по 500мс) да насчет твоей правки с цифрами пропустил, спасибо))
     
  10. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    так правильно пробелы в них выставил? и ставил перед
    Код:
    $title = str_replace(' ', ',', $title);
    urlencode($title);
    но что проставляется все равно первая часть (((
     
  11. Intention

    Intention Местный

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

    Забанен

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

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    @byroot, Блин я чето не внимательно смотрел твой код)) А почему у тебя $title? Ведь надо ставить $kpid именно там находиться твой запрос)

    PHP:
    $kpid str_replace(' 2'',два'$kpid);
    $kpid str_replace(' 3'',три'$kpid);
    $kpid str_replace(' 4'',четыре'$kpid);
    $kpid str_replace(' 5'',пять'$kpid);
     
  14. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    @Intention, и пробовал итак и так, просто $kpid заменил на $title чтоб понятней было по коду и в строке подключения :)
     
  15. Intention

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    @byroot, Щас сек затестим
     
  16. Intention

    Intention Местный

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

    Intention Местный

    Регистрация:
    15 янв 2016
    Сообщения:
    2.098
    Лучших ответов:
    0
    Рейтинги:
    +689 / 2 / -0
    @Intention, Это без твоих правок с цифрами
     
  18. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    @Intention, а попробуй "один дома 2"...
    http://api.kinopoisk.cf/searchGlobal?keyword=один,дома,2
    Код:
    stdClass::__set_state(array(
       'keyword' => 'один,дома,2',
       'youmean' =>
      stdClass::__set_state(array(
         'id' => '8124',
         'type' => 'KPFilm',
         'nameRU' => 'Один дома',
         'nameEN' => 'Home Alone',
         'description' => 'США, Крис Коламбус(комедия)',
         'filmLength' => '1:43',
         'year' => '1990',
         'country' => 'США',
         'genre' => 'комедия, семейный',
         'rating' => '8.2 (228 648)',
         'posterURL' => 'film_iphone/iphone60_8124.jpg',
      )),
       'searchFilms' =>
      array (
        0 =>
        stdClass::__set_state(array(
           'id' => '5928',
           'type' => 'KPFilm',
           'nameRU' => 'Один дома 2: Затерянный в Нью-Йорке',
           'nameEN' => 'Home Alone 2: Lost in New York',
     
  19. byroot

    Забанен

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

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
Похожие темы
  1. Serhii
    Ответов:
    27
    Просмотров:
    4.019
  2. XVISTA
    Ответов:
    63
    Просмотров:
    8.449
  3. Apehdgo
    Ответов:
    8
    Просмотров:
    3.514
  4. Apehdgo
    Ответов:
    8
    Просмотров:
    3.460
  5. Black Cat
    Ответов:
    60
    Просмотров:
    6.700
Загрузка...
Яндекс.Метрика