Парсинг рамблер кассы
Подскажите пожалуйста, возможно ли распарсить 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, время: 18:58. |