Парсинг рамблер кассы
Подскажите пожалуйста, возможно ли распарсить http://kassa.rambler.ru/? - рамблер касса - заполнение залов кинотеатра (кол-во купленных/забронированных билетов).
Каким образом можно реализовать парсер? Суть в том, что данные появляются в результате выполнения яваскрипта. Видимо только на пхп это невозможно сделать? К слову, это не воровство - воровать там нечего, парсер нужен для проверки кинотеатров на соотвествие кол-ва проданных билетов для кинопрокатчика. |
Цитата:
поинтересуйтесь, возможно у них есть апи для подобного. а писать парсер -возможно (а так скорее всего и есть) у них стоят защиты от парсинга, таже на количество запросов от одно ip в ед времени, не говоря о других |
а что не получается? сервер ответ не возвращает? такое часто бывает если нужные заголовки не отправить
$headers = getallheaders(); $headers['Host'] = $url; $headers['Cookie'] = ''; // заменяем keep-alive на close, чтобы не ждать закрытия соединения $headers['Connection'] = 'close'; $header = ''; foreach ($headers as $name => $value) { $header .= "$name: $value\r\n"; } $data = file_get_contents( $url, create_context( array( 'http' => array( 'method' => 'GET', 'header' => $header, ) ) ) ) |
собс-но мы замаскировались под обычный клиент
|
![]() <?php $headers = getallheaders(); unset( $headers['Host'] ); $headers['Cookie'] = ''; // заменяем keep-alive на close, чтобы не ждать закрытия соединения $headers['Connection'] = 'close'; $header = ''; foreach ($headers as $name => $value) { $header .= "$name: $value\r\n"; } $data = file_get_contents( $_GET['url'], null, stream_context_create( array( 'http' => array( 'method' => 'GET', 'header' => $header ) ) ) ); header('Content-type: text/plain'); echo($data); ?> |
![]() |
$data = json_decode( '{"response": ' . $response . '}' );
var_dump( $data['response'] ); // твои данные, желаю смерти пидарасу который мне минусунул |
<?php $headers = getallheaders(); unset( $headers['Host'] ); $headers['Cookie'] = ''; // заменяем keep-alive на close, чтобы не ждать закрытия соединения $headers['X-Requested-With'] = 'XMLHttpRequest'; $headers['Connection'] = 'close'; $header = ''; foreach ($headers as $name => $value) { $header .= "$name: $value\r\n"; } $data = file_get_contents( 'http://kassa.rambler.ru/creation/topcreations/17?start=14&pagesize=11&direction=-1', null, stream_context_create( array( 'http' => array( 'method' => 'GET', 'header' => $header ) ) ) ); echo('<pre>'); $data = json_decode($data); var_dump($data); ?> [JS] array(11) { [0]=> object(stdClass)#1 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(16) "Тачка №19" ["objectId"]=> int(50956) ["order"]=> int(34) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img01.rl0.ru/kassa/c144x212/s1.kassa.rl0.ru/StaticContent/Photos/130409115946/130506114451/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/50956" } [1]=> object(stdClass)#2 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(27) "Великий Гэтсби" ["objectId"]=> int(46567) ["order"]=> int(32) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> string(21) "/Date(1368648000000)/" ["thumbnail"]=> string(105) "http://img03.rl0.ru/kassa/c144x212/s2.kassa.rl0.ru/StaticContent/Photos/130409115946/130424111751/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/46567" } [2]=> object(stdClass)#3 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(14) "Форсаж-6" ["objectId"]=> int(48098) ["order"]=> int(30) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> string(21) "/Date(1369252800000)/" ["thumbnail"]=> string(105) "http://img01.rl0.ru/kassa/c144x212/s1.kassa.rl0.ru/StaticContent/Photos/130227104740/130423111854/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/48098" } [3]=> object(stdClass)#4 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(30) "Девушка и смерть" ["objectId"]=> int(49423) ["order"]=> int(28) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> string(21) "/Date(1368648000000)/" ["thumbnail"]=> string(105) "http://img03.rl0.ru/kassa/c144x212/s2.kassa.rl0.ru/StaticContent/Photos/130206161234/130418084546/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/49423" } [4]=> object(stdClass)#5 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(29) "Побочный эффект" ["objectId"]=> int(52797) ["order"]=> int(26) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img01.rl0.ru/kassa/c144x212/s2.kassa.rl0.ru/StaticContent/Photos/130211173226/130220130138/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/52797" } [5]=> object(stdClass)#6 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(28) "Шутки в сторону" ["objectId"]=> int(55144) ["order"]=> int(24) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img03.rl0.ru/kassa/c144x212/s1.kassa.rl0.ru/StaticContent/Photos/130409115946/130425103138/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/55144" } [6]=> object(stdClass)#7 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(55) "Страх и ненависть в Лас-Вегасе" ["objectId"]=> int(14456) ["order"]=> int(22) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img01.rl0.ru/kassa/c144x212/s1.kassa.rl0.ru/StaticContent/Photos/130206165926/130422113408/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/14456" } [7]=> object(stdClass)#8 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(18) "Беспредел" ["objectId"]=> int(43119) ["order"]=> int(20) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img01.rl0.ru/kassa/c144x212/s1.kassa.rl0.ru/StaticContent/Photos/130206165128/130418085027/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/43119" } [8]=> object(stdClass)#9 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(41) "Не входить, мы не одеты" ["objectId"]=> int(55151) ["order"]=> int(18) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img03.rl0.ru/kassa/c144x212/s1.kassa.rl0.ru/StaticContent/Photos/120424125801/130418075155/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/55151" } [9]=> object(stdClass)#10 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(10) "Транс" ["objectId"]=> int(53189) ["order"]=> int(16) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img03.rl0.ru/kassa/c144x212/s2.kassa.rl0.ru/StaticContent/Photos/120517181955/130326121344/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/53189" } [10]=> object(stdClass)#11 (14) { ["templateType"]=> string(6) "narrow" ["attendee"]=> NULL ["attendeeImage"]=> NULL ["badgeType"]=> string(5) "empty" ["classID"]=> int(17) ["name"]=> string(54) "Приключения Гекльберри Финна" ["objectId"]=> int(55038) ["order"]=> int(14) ["placeLogo"]=> NULL ["placeName"]=> NULL ["releaseDate"]=> NULL ["thumbnail"]=> string(105) "http://img01.rl0.ru/kassa/c144x212/s2.kassa.rl0.ru/StaticContent/Photos/130409115946/130425103221/p_O.jpg" ["totalCount"]=> int(0) ["url"]=> string(35) "http://kassa.rambler.ru/movie/55038" } } |
Без X-Requested-With сервак html просто отдает
|
qwerty-клавиатура,
вау) спасибо! |
Часовой пояс GMT +3, время: 21:50. |