Сломался Кинопоиск-парсер

Тема в разделе "Свободное общение", создана пользователем Chumaster59, 10 окт 2011.

  1. Chumaster59

    Chumaster59 Пользователь

    Сообщения:
    232
    Симпатии:
    22
    Перестал работать парсер кинопоиска
    Кто знает что они там опять поменяли ?
     
  2. mortan77

    mortan77 Пользователь

    Сообщения:
    63
    Симпатии:
    2
    во во...и я жду пока кто нить починит
     
  3. _Xz_

    _Xz_ Пользователь

    Сообщения:
    370
    Симпатии:
    236
    Версия TP:
    иная
    скиньте файлы, поправлю
     
  4. Lange

    Lange Пользователь

    Сообщения:
    1.791
    Симпатии:
    143
    Версия TP:
    2.2.1
    Выложите сюда тогда готовый пожалуйста, если он для паблика.
     
  5. _Xz_

    _Xz_ Пользователь

    Сообщения:
    370
    Симпатии:
    236
    Версия TP:
    иная
    омг дайте уже мод, там поправить три строки
     
  6. mortan77

    mortan77 Пользователь

    Сообщения:
    63
    Симпатии:
    2
  7. krumax

    krumax Пользователь

    Сообщения:
    1.122
    Симпатии:
    328
    Версия TP:
    иная
  8. _Xz_

    _Xz_ Пользователь

    Сообщения:
    370
    Симпатии:
    236
    Версия TP:
    иная
    сорри пока времени нет, но вот мои поправки, которые делал для стола заказов
    PHP:
     preg_match_all ('#itemprop="url">.*? src="(.*?)"#si'$content$sourcePREG_SET_ORDER);
    $poster = @$source[0][1];

    preg_match_all ('#<title>(.*?)</title>#si'$content$sourcePREG_SET_ORDER);
    $name = @$source[0][1];

    preg_match_all ('#год</td>.*?<a .*?>(.*?)</a>#si'$content$sourcePREG_SET_ORDER);
    $year = @$source[0][1];

    preg_match_all ('#страна</td>.*?<a .*?>(.*?)</a>#si'$content$sourcePREG_SET_ORDER);
    $country = @$source[0][1];

    preg_match_all ('#жанр</td>(.*?)</td>#si'$content$sourcePREG_SET_ORDER);
    $genre = @strip_tags($source[0][1]);
    $genre str_replace(', ...'''$genre);

    preg_match_all ('#режиссер</td>(.*?)</td>#si'$content$sourcePREG_SET_ORDER);
    $producer = @strip_tags($source[0][1]);
    $producer str_replace(', ...'''$producer);

    preg_match_all ('#сценарий</td><td>(.*?)</td>#si'$content$sourcePREG_SET_ORDER);
    $scenario = @strip_tags($source[0][1]);
    $scenario str_replace(', ...'''$scenario);

    preg_match_all ('#<span class="_reachbanner_">(.*?)</span>#si'$content$sourcePREG_SET_ORDER);
    $description = @$source[0][1];
    }
    если раньше кто исправит оригинальные файлы пускай выложит, а я уехал бухать)
     
  9. Mikotka

    Mikotka Пользователь

    Сообщения:
    79
    Симпатии:
    22
    krumax,
    Не весь, не хватает лангов и topic.js

    Для начала

    kinopoisk.php
    Код:
    require(BB_ROOT ."common.php");
    require(INC_DIR .'class.snoopy.php');
    Код:
    preg_match_all ('#<div class="element.*?<a href="/level/1/film/(.*?)/sr/1/"><i.*? title="(.*?)" .*?/sr/1/\">(.*?)</a> <span class="year">(.*?)</span></p>.*?<br />(.*?)</span>#si', $content, $source, PREG_SET_ORDER);
    Код:
        global $snoopy, $first_poster, $source;
            $first_poster = '';
            $snoopy->fetch("http://www.kinopoisk.ru/level/17/film/$id/");
    Код:
    if ($option == 'rusname')
        {
                    $search = "#<h1 style=\"margin: 0; padding: 0\" class=\"moviename-big(.*?)\">(.*?)</h1>#si";
        }
    Дальше влом пока. Но затыкс регулярками остался на стране и оригинальном названии. Остальное вроде норм парсится.

    По регуляркам _Xz_ не пробовал
     
  10. mortan77

    mortan77 Пользователь

    Сообщения:
    63
    Симпатии:
    2
    а может кто то мой файл подтправить -пожалуйста..я в этом совсем нерублю.
     

Поделиться этой страницей