[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с написанием грабера. POST запросы
checken
Решил написать грабер сайта http://b90.ru , написал грабер раздела девушка дня и возник подводный камень: слайдшоу. Дело в том, что там есть POST форма, она и является камнем преткновения.

Конкретные ссылки:
http://b90.ru/girlday.php?&z=3 - Категория Девушка дня
http://b90.ru/slideshow.php?d=04-02-2010&z=3 - Слайдшоу сегодняшней героини.


В слайдшоу при входе вылезает форма POST. Если мне в action= тупо подставить сайт b90.ru/slidshow.php?... То человек перейдёт на сайт b90.ru. Есть идея подставить там POST моей странички slidshow.php, и потом, если POST присутствует, грабить не тупо через file_get_contents(), а сначала как то отправить POST запрос и только потом через file_get_contents(). dry.gif

Думал много, сам решить не смог. HELP!



Спустя 23 минуты, 19 секунд (4.02.2010 - 02:29) darksmile написал(а):
Попробуй через cURL , отснифай заголовки и передай их скрипту

$post = "id=123";

$ch = curl_init('http://host.ru/forma.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$answer = curl_exec($ch);
echo $answer;

Спустя 27 минут (4.02.2010 - 02:56) checken написал(а):
Не понял, объясни подробнее пожалуйста.
Ещё хочу сделать на главной вывод одной из всех фоток, только как wacko.gif
И если это реально сделать, то можно и не граб slideshow писать, а свой скрипт и чужие фото в нём отображать просто

Спустя 15 минут, 31 секунда (4.02.2010 - 03:11) darksmile написал(а):
Береш любой снифер способный распознать заголовки , я например пользуюсь плагином для мозилы LiveHTTPHeaders, заходишь на страницу и жмешь на свою форму, получаешь инфу что и куда отправляется после чего эмулируеш действие с помощью cURL'а

Спустя 8 часов, 20 минут, 36 секунд (4.02.2010 - 11:32) Gradus написал(а):
Цитата
начала как то отправить POST запрос и только потом через file_get_contents()



//создаёи заголовок и пихаем post переменные и куки если надо
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'User-Agent: Vasilisa Primudraia' . PHP_EOL .
'Referer: откуда притопали' . PHP_EOL .
'Cookie: ' . куки если надо . PHP_EOL .
'X-Requested-With: XMLHttpRequest' . PHP_EOL .
'Content-Type: application/x-www-form-urlencoded' . PHP_EOL,
'content' => 'name=john&pass=herushechki& и так далее это post',
),
));

//куда всё это дело отправлять
$result = file_get_contents("http://domen.ru/file.php", false, $context);
//смотрим чё там получилось
echo $result;

Спустя 12 часов, 12 минут, 23 секунды (4.02.2010 - 23:44) checken написал(а):
Поколдовал я вобщем тут, вот что получилось
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'content' => 'shirs='.$_POST['shirs'].'&skors='.$_POST['skors'],
),
));


$file = file_get_contents("http://b90.ru/slideshow.php?d=".$_GET['d']."&nu=".$_GET['nu']."&z=".$_GET['z'], false, $context);
$file=explode('<div class="ok">Cлайдшоу</div>', $file);
$file=explode('<div class="ok">', $file[1]);
$file=str_replace('src="', 'src="http://b90.ru/', $file[0]);
echo $file;


Теперь не работает почему-то ссылка следующая картинка

Спустя 2 часа, 50 минут, 27 секунд (5.02.2010 - 02:35) checken написал(а):
И вообще ревльно сделать скрипт, чтобы раз в сутки он загружал на хост все фото Девушки дня, а потом просто вывод на странице случайной картинки? Почему именно так? потому что так будет меньше нагрузка на сервер и в дальнейшем быстрая работа, за счёт того, что адрес сразу известен, а не то, чтобы постоянный запуск грабера, который будет вычислять фото. Если не реально, то давайте хотя бы как нибудь попробуем просто граб написать

Спустя 8 часов, 20 минут, 22 секунды (5.02.2010 - 10:55) Gradus написал(а):
Цитата
И вообще ревльно сделать скрипт, чтобы раз в сутки он загружал на хост все фото Девушки дня, а потом просто вывод на странице случайной картинки?

Всё реально.
Цитата
а не то, чтобы постоянный запуск грабер

Правильно мыслиш.

Я на работе не удобно лазить по такому тематическому сайту smile.gif Ну видимо это слайд шоу сделан через js грабьте и его.

Спустя 1 день, 10 часов, 53 минуты, 58 секунд (6.02.2010 - 21:49) checken написал(а):
Напиши в ICQ как освободишься, пожалуйста, 379736615
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.