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

Started by Chumaster59 on 2011-10-10 19:04 — 84 replies, 23981 views

#1
Перестал работать парсер кинопоиска
Кто знает что они там опять поменяли ?
#2
во во...и я жду пока кто нить починит
#3
скиньте файлы, поправлю
#4
Выложите сюда тогда готовый пожалуйста, если он для паблика.
#5
омг дайте уже мод, там поправить три строки
#6
вот мой фаил
http://depositfiles.com/files/a32sroh6m
#7
Вот, правда не адаптированный, ещё руки не дошли.
Но здесь вроде весь мод http://depositfiles.com/files/7s7k7wv8d
#8
сорри пока времени нет, но вот мои поправки, которые делал для стола заказов
 preg_match_all ('#itemprop="url">.*? src="(.*?)"#si', $content, $source, PREG_SET_ORDER);
$poster = @$source[0][1];

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

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

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

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

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

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

preg_match_all ('#<span class="_reachbanner_">(.*?)</span>#si', $content, $source, PREG_SET_ORDER);
$description = @$source[0][1];
}
если раньше кто исправит оригинальные файлы пускай выложит, а я уехал бухать)
#9
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
вот мой фаил
http://depositfiles.com/files/a32sroh6m
а может кто то мой файл подтправить -пожалуйста..я в этом совсем нерублю.