Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2013, 12:32
Интересующийся
Отправить личное сообщение для Sub-zerro Посмотреть профиль Найти все сообщения от Sub-zerro
 
Регистрация: 25.03.2010
Сообщений: 25

Парсинг рамблер кассы
Подскажите пожалуйста, возможно ли распарсить http://kassa.rambler.ru/? - рамблер касса - заполнение залов кинотеатра (кол-во купленных/забронированных билетов).
Каким образом можно реализовать парсер?
Суть в том, что данные появляются в результате выполнения яваскрипта.
Видимо только на пхп это невозможно сделать?
К слову, это не воровство - воровать там нечего, парсер нужен для проверки кинотеатров на соотвествие кол-ва проданных билетов для кинопрокатчика.
Ответить с цитированием
  #2 (permalink)  
Старый 13.05.2013, 12:43
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Sub-zerro
Видимо только на пхп это невозможно сделать?
нет конечно
поинтересуйтесь, возможно у них есть апи для подобного.
а писать парсер -возможно (а так скорее всего и есть) у них стоят защиты от парсинга, таже на количество запросов от одно ip в ед времени, не говоря о других
Ответить с цитированием
  #3 (permalink)  
Старый 13.05.2013, 19:00
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

а что не получается? сервер ответ не возвращает? такое часто бывает если нужные заголовки не отправить

$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, ) ) ) )
Ответить с цитированием
  #4 (permalink)  
Старый 13.05.2013, 19:01
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

собс-но мы замаскировались под обычный клиент
Ответить с цитированием
  #5 (permalink)  
Старый 13.05.2013, 19:58
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132



<?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);

?>
Ответить с цитированием
  #6 (permalink)  
Старый 13.05.2013, 20:04
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

Ответить с цитированием
  #7 (permalink)  
Старый 13.05.2013, 20:08
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

$data = json_decode( '{"response": ' . $response . '}' );
var_dump( $data['response'] ); // твои данные, желаю смерти пидарасу который мне минусунул
Ответить с цитированием
  #8 (permalink)  
Старый 13.05.2013, 20:14
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

<?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"
  }
}
Ответить с цитированием
  #9 (permalink)  
Старый 13.05.2013, 20:15
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

Без X-Requested-With сервак html просто отдает
Ответить с цитированием
  #10 (permalink)  
Старый 16.05.2013, 14:09
Интересующийся
Отправить личное сообщение для Sub-zerro Посмотреть профиль Найти все сообщения от Sub-zerro
 
Регистрация: 25.03.2010
Сообщений: 25

qwerty-клавиатура,
вау) спасибо!
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг даты Allan Stark Общие вопросы Javascript 4 30.01.2014 18:57
Парсинг собственных тегов nixml Общие вопросы Javascript 3 15.04.2013 18:18
Парсинг из xml Vasy Общие вопросы Javascript 19 13.03.2013 17:15
Парсинг страницы с авторизацией aspx karmis Серверные языки и технологии 0 21.02.2012 18:28
HTML парсинг 350d jQuery 3 13.10.2010 23:08