Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

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

Добавление новых строк во все новости

Discussion in 'Вопросы- ответы' started by Select-Films.ru, Apr 12, 2016.

12.04.16 в 03:26
13.08.16 в 15:09
90
7,536
0
  1. never3d22

    never3d22 Забанен

    Messages:
    1,021
    Likes Received:
    109
    Best Answers:
    0
    А как прописать например страну?
     
  2. PunPun

    PunPun VIP Кинотрафик v2

    Messages:
    7,397
    Likes Received:
    3,664
    Best Answers:
    32
    сделать поиск по api, но вероятность точности ID 50/50
     
  3. zaren3000

    zaren3000 Бывалый

    Messages:
    914
    Likes Received:
    194
    Best Answers:
    0
    а с помощью того кода, который выше? я так понимаю, он парсит из основного модуля парсинга и прописывает в свое доп. поле? вроде бы с премьерами так получилось легко. с кинопоиском так не получится?
     
  4. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    @zaren3000, и какой фильм выбирать который у тебя добавлен? Например:
    2016-05-15_00-02-20.png
     
  5. Intention

    Intention Местный

    Messages:
    2,098
    Likes Received:
    688
    Best Answers:
    0
    @byroot, У КП наитупейший поиск, как он меня время от времени заебывает. Неужели такому сайту влом сделать адекватный поиск, такое впечатление как будто им никто не пользуется сук
     
  6. zaren3000

    zaren3000 Бывалый

    Messages:
    914
    Likes Received:
    194
    Best Answers:
    0
    ну пусть здесь проставится любой кп. а так в одиночные фильмы пусть свое проставляется.
     
  7. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    @iNol, подскажешь чтоб заполнить ИД кинопоиска? вот правил код:
    PHP:
    <?php
    if( ! defined'DATALIFEENGINE' ) ) die("I have nothing to say to you");

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

    // ДАЛЕЕ НИЧЕГО НЕ ТРОГАТЬ!
    $newsid is_numeric($newsid) ? intval($newsid) : false; if(!$newsid) return;
    $kpid is_string($kpid) ? intval($kpid) : false; if(!$kpid) return;
    $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['searchFilms']['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();
    что не так тут сделал? или вообще код другой нужен для данной ситуации?

    http://api.kinopoisk.cf/searchGlobal?keyword=запрос
    и ещё проблема с запросом - не получается добавить второе слово поиска o_O постоянно null выдает...
     
    • Нравится Нравится x 1
  8. Intention

    Intention Местный

    Messages:
    2,098
    Likes Received:
    688
    Best Answers:
    0
    • Нравится Нравится x 1
  9. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    @Intention, спасибо! помогло... проверил несколько фильмов/сериалов вручную - даже ИД КП правильно проставляет :)
     
    • Нравится Нравится x 1
  10. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    в несколько материалов добавил ИД и больше не хочет :( в чём косяк может быть?
    в $kpid я отдаю {title} (название на русском) и удаляю в нем все пробелы, но вроде бы начал код срабатывать, и вдруг перестал o_O
     
    • Нравится Нравится x 1
  11. Intention

    Intention Местный

    Messages:
    2,098
    Likes Received:
    688
    Best Answers:
    0
    @byroot, Попробуй порешать все скобки и прочее в названии только слова никаких знаков, возможно кстати из-за того что ты не проставил интервал запросов тебя отправили в парилку
     
  12. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    так оно и есть: например Живойтруп - не хочет заполняться, а по ссылке http://api.kinopoisk.cf/searchGlobal?keyword=Живойтруп - есть фильм
    обращение же идёт при открытии новости... как интервал запросов проставить?
     
    • Нравится Нравится x 1
  13. Intention

    Intention Местный

    Messages:
    2,098
    Likes Received:
    688
    Best Answers:
    0
    Выдавался фильм урощение строптивой. Вместо пробела нужна точка
    Вот здесь настоящий труп http://api.kinopoisk.cf/searchGlobal?keyword=Живой.труп
    Попробуй еще раз но уже с правильной выдачей

    а ну еси так то пойдет)
     
  14. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    всё равно не обновляет больше...

    написал уже @wielski в ВК с вопросом, но что то он молчит :(

    может запустить скан сайта в несколько потоков для обновления информации было глупой идеей и реально в бан сервис меня отправил :eek:
     
    • Нравится Нравится x 1
  15. Intention

    Intention Местный

    Messages:
    2,098
    Likes Received:
    688
    Best Answers:
    0
    @byroot, а парсер с кинопоиска работает? если да то думаю что не забанен. хотя вполне возможно что кто-то из них тебе кислород перекрывает :)
    Тоже ему писал, остался без ответа — разработчики ребята сложные
     
  16. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    :(
    как бы парсер КП тут же не причем, вся инфа же тянется с api.kinopoisk.cf
     
  17. Intention

    Intention Местный

    Messages:
    2,098
    Likes Received:
    688
    Best Answers:
    0
    @byroot, больше суток за ПК, залипаю :confused:
     
  18. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    :eek: я и смотрю, уже поспать успел, а ты всё тут словно и не уходил :D
     
    • Нравится Нравится x 2
  19. PunPun

    PunPun VIP Кинотрафик v2

    Messages:
    7,397
    Likes Received:
    3,664
    Best Answers:
    32
    @Intention там массив может быть либо его считывать
    PHP:
    foreach ($api_result['creators'] as $key => $val)
    $name[] = $api_result['creators'][$key]['name_RU'];
    $name implode(",",$name);
    либо брать первого
    PHP:
    ['creators'][0]['name_RU']
     
    • Нравится Нравится x 1
  20. byroot

    byroot Забанен

    Messages:
    12,295
    Likes Received:
    4,495
    Best Answers:
    54
    PHP:
    <?php
    if( ! defined'DATALIFEENGINE' ) ) die("I have nothing to say to you");

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

    // ДАЛЕЕ НИЧЕГО НЕ ТРОГАТЬ!
    $newsid is_numeric($newsid) ? intval($newsid) : false; if(!$newsid) return;
    if(!
    $title) return;
    $title preg_replace("/[^a-zA-ZА-Яа-я\s]/"""$title);
    $title str_replace(' '','$title);

    $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='.$title);
        
    $api_result json_decode($api_resulttrue);

        
    $xfieldsdata[$ololo_opt["field_prem"]] = $api_result['searchFilms'][0]['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();
    этот код предложил попробовать @wielski, но он сработал один раз - и больше не хочет...
    что вообще не так в коде?o_O

    @Intention, кстати, вместо пробелов надо использовать запятую, так сказал разраб апи :)