Hola Leandro,
Muy buenos días, espero que estés bien.
Te comento algo que muy probablemente ya sabías...
Cuando obtienes el contenido de una URL con
PHP, no estás ejecutando el JavaScript dentro; para
PHP es solo texto.
Eso es lo que está pasando, en esa página existe un JavaScript que trae por AJAX la tercer página de comentarios...
En el código fuente de la página, encontrarás la siguiente línea:
<script type="text/javascript">var x = location.href.split('#pagina-');if (x[1]) comment.page(x[1])</script>Te recomiendo el browser
Firefox y la herramienta
Firebug, para ver el comportamiento de ésta y cualquier página.
Finalmente...
Me tomé unos minutos, que luego se convirtieron en horas, para traer los comentarios desde PHP, usando algo de tu código...
Igualmente,
falta pasarle bien la cookie, ya que de la forma que lo hago, se rompe...
Tuve que "hardcodear" una cookie a mano, para que traiga bien la tercer página de comentarios..
<?phpfunction ver($url, $cookie=false){ $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); if($cookie){ list($url, $postfields) = explode('?', $url); #$cookie = array("Cookie: $cookie"); $cookie = array("Cookie: img_host=1; SAV2=1140122501.36606ba3; __gads=ID=0c6325977d856452:T=1318262296:S=ALNI_MYUrhWjSc1HanJWKewVHFosrWVwEg; __utma=191395631.2096305582.1318262308.1318262308.1318265692.2; __utmz=191395631.1318262308.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __qca=P0-1741169349-1318262308074; trngssn=50038517; __utmb=191395631.1.10.1318265692; __utmc=191395631"); curl_setopt($ch, CURLOPT_HTTPHEADER, $cookie); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); } curl_setopt($ch, CURLOPT_URL, $url); $tmp = curl_exec($ch); curl_close ($ch); return $tmp;}function cookies($content){ $coo = Array(); $arr = explode("\n", $content); for($i=0; $i<10; $i++){ if(strpos($arr[$i], "Set-Cookie") !== false){ $coo[] = str_replace("Set-Cookie: ", "", $arr[$i]); } } return implode(";", $coo);}function getPostfields($url){ $arr = explode('/', $url); $post = ""; $page = ""; for ($i=0; $i<count($arr); $i++){ if($arr[$i]!=""){ //El id del post siempre es numerico? if(is_numeric($arr[$i])){ $post = $arr[$i]; } //Obteniendo pagina de comentario if(strpos($arr[$i], "#pagina-") !== false){ list($url, $num) = explode("#pagina-", $arr[$i]); $page = $num; } } } return "id=$post&p=$page";}$url_pagina = "http://www.taringa.net/posts/reviews/12759660/Como-ver-Cuevana-en-HD-_Facil_.html#pagina-3";$url_comentario = "http://www.taringa.net/ajax/comment-page.php";$postfields = "";$cookies = "";//Cargando pagina, cookies y datos de POST$contenido = ver($url_pagina);$cookies = cookies($contenido);$postfields = getPostfields($url_pagina);//Ver la tercer pagina de comentariosecho ver($url_comentario."?$postfields", $cookies);?>
Avisame cualquier cosa,
Un saludo,
Hugo
PD: Vos sabes porqué veo con el browser y firebug, valores en las cookies que no lo veo al leerlo con PHP???
PD: Valores como por ejemplo "__utma=191395631.209..."
****************************************************************************************************
OTRO DETALLE MÁS
****************************************************************************************************
Con Google
Chrome también se puede ver las cookies, las cabeceras HTTP y todo lo demás...
Para eso, seguir los siguiente pasos:
- Abrir con Chrome la página
- Precionar "F12" para activar la "Herramientas para desarrolladores"
- En esta herramienta, hacer click en "Network"
- En el menú de abajo, hacer click en "XHR", que significa "XHTTP-Request"
- Finalmente, seleccionar "comment-page.php"
Les dejo una captura de pantalla para que lo vean...