Foros del Web » Programando para Internet » PHP »

CURL y Cookies

Estas en el tema de CURL y Cookies en el foro de PHP en Foros del Web. Hola Buenos días, espero me puedan ayudar. Quiero hacer un bot para recolectar los anuncios (Titulo y url del anuncio) de esta pagina. http://www.jobstoday.co.uk/ Esta ...
  #1 (permalink)  
Antiguo 25/04/2012, 09:01
 
Fecha de Ingreso: enero-2011
Ubicación: Puebla
Mensajes: 9
Antigüedad: 13 años, 3 meses
Puntos: 0
CURL y Cookies

Hola Buenos días, espero me puedan ayudar.
Quiero hacer un bot para recolectar los anuncios (Titulo y url del anuncio) de esta pagina. http://www.jobstoday.co.uk/ Esta usa una cookie para permitir ver los resultados y aparte se tienen que enviar mediante post los criterios de búsqueda los cuales pueden estar vacíos.
He hecho esto con curl. El problema es que solo me muestra el resultado de la primera pagina si yo cambio a otra pagina me sigue mostrando los resultados de la primera.
Pego mi código.

Código PHP:
Ver original
  1. <?php
  2. include('../simple_html_dom.php');
  3. $url = 'http://www.jobstoday.co.uk'; //pagina principal
  4. //$url2 = 'http://www.jobstoday.co.uk/cgi-bin/advsearch?rownum=1'; //pagina con resultados
  5. $url2 = 'http://www.jobstoday.co.uk/cgi-bin/advsearch?rownum=26'; //pagina con resultados
  6. $cookie = tempnam('/tmp', 'COOKIE_');
  7. $formArray = array(
  8.     'fp_skill_include' => '',
  9.     'location_include' => ''
  10.         ); //arreglo con las variables de post
  11.  
  12. $ch = curl_init($url);
  13. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); //guardo la cookie
  14. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // devuelve el resultado
  15. $output = curl_exec($ch);
  16. echo "$url2 ----------------------------------->\n";
  17. $ch = curl_init($url2);
  18. curl_setopt($ch, CURLOPT_POSTFIELDS, $formArray); //petición http post
  19. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //para utilizar la cookie guardada
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  21. $output = curl_exec($ch);
  22. $html = str_get_html($output); //vacio el resultado html para despues buscar los selectores de titulo y url
  23.  
  24. foreach ($html->find('//*[@id="vacs"]') as $pages)
  25. {
  26.     foreach ($content = $pages->find('h3/a') as $vacs)
  27.         echo $vacs->plaintext   ."\n"; //Titulo de los anuncios
  28. }


Muchas gracias por su ayuda

Etiquetas: cookie, curlopt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:24.