Добрый день! Есть страничка: http://kr-presnya.ru/cat.php?id=4400 При первом заходе на эту страничку по прямой ссылке ч-з браузер, если при этом не открывались другие странички сайта, список изделий не выводится и значение в скобках: "Броши ()" - пустое. Если перечитать страничку или зайти на нее по ссылке с другой странички, то список изделий выводится. Теперь вопрос: Нужно спарсить эту страничку. Но парсер естесственно идет по прямой ссылке, на которую выдается страничка без списка изделий, а парсить то нужно именно эти изделия. Как победить эту проблему? Вои пример кода: Код (Text): ?php /* STEP 1. let’s create a cookie file */ $ckfile = tempnam ("/tmp", "CURLCOOKIE"); /* STEP 2. visit the homepage to set the cookie properly */ $ch = curl_init ("http://kr-presnya.ru/cat.php"); curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec ($ch); /* STEP 3. visit cookiepage.php */ $ch = curl_init ("http://kr-presnya.ru/cat.php?id=4400"); curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec ($ch); /* here you can do whatever you want with $output */ ?> <!DOCTYPE html> <html> <head> </head> <body> <?=$output?> </body> </html> Спасибо.
А какие cookie ты посылаешь в запросе? Там требуется что бы был sortcookie. Добавлено спустя 37 минут 35 секунд: Зачем делать 2 запроса когда нужен 1 cookie((( Код (PHP): $ch = curl_init ("http://kr-presnya.ru/cat.php?id=4400"); curl_setopt($ch,CURLOPT_COOKIE,"sortcookie=sortart_down; domain=kr-presnya.ru; path=/"); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec ($ch);
Код брал с буржуйского сайта и подставлял в качестве эксперимента. Спасибо огромное, код заработал. А как Вы определили какие нужны куки? Добавлено спустя 16 минут 9 секунд: - нашел ч-з FireBug. Спасибо smitt, вопрос снят.
Вообще то для этого ничего не нужно... в любом браузере есть возможность просмотра сохраненных cookie