entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Buenos noches amigos hoy me surgió una duda estoy usando Curl para extraer unos datos de una pagina web de esta manera .

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$url = 'https://ycapi.org/iframe/?v=6YzGOq42zLk';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER,0); //visualizar ñ y acentos.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_CAINFO, 'cacert.pem');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate"); //(aceptación de codificación gzip)   
$response = curl_exec($ch); //almacena el response de la pagina.

curl_close($ch);

if (preg_match('#rel="nofollow" href=[^"]*"([^"]*)"#', $response, $datos)) {
    $mp = $datos[1];
} else {
    $mp = 'error';
}
echo $mp;

El código es ta bien El problema esta que la pagina donde extraigo los datos tienen que esperar un tiempo para para procesar la información y curl no espera ese tiempo y me extrae los datos null .

La pregunta es existe una manera de hacer que curl espere a que la información este disponible para extraer la pagina.

Pensé usar

    sleed();

Pero realmente no se donde ubicar lo gracias por adelantado.

magarzon comentado Ene 19

¿La información se extrae desde el mismo PHP que genera tu página, o se hace una llamada a otro API o algo después?

Por cierto, NUNCA uses sleep() en PHP si es para generar respuesta a una petición web, solo se debería usar cuando se desarrollan comandos de terminal.

Botxtrem-Solutions comentado Ene 19

Bueno Gracias por tu respuesta . Encontré una respuesta lógica a mi pregunta . Según entiendo Curl no extrae datos de Ajax por eso el código por mucho que espere no da ningún resultado ya que que lo que quiero obtener se carga mediante Ajax . Bien Ahora te pregunto si conoces alguna manera de lograrlo mediante otro técnica . en javascript

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

  • carlossevi ganó una medalla hace 2 horas

    Buena Respuesta - Recibió +1 votos en respuesta
  • matrixmar8 ganó una medalla hace 1 día

    Club de los 100 - Recibió un total de 100 puntos
  • matrixmar8 ganó una medalla hace 1 día

    Humano Verificado - Verificó su email
  • JoseVillalta ganó una medalla hace 1 día

    Club de los 100 - Recibió un total de 100 puntos
  • JoseVillalta ganó una medalla hace 1 día

    Humano Verificado - Verificó su email
  • Tammya ganó una medalla hace 1 día

    Club de los 100 - Recibió un total de 100 puntos
  • Tammya ganó una medalla hace 1 día

    Humano Verificado - Verificó su email
  • edu_botero ganó una medalla hace 1 día

    Fotogénico - Subió un avatar
  • edu_botero ganó una medalla hace 1 día

    Club de los 100 - Recibió un total de 100 puntos
...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta