Hola tengo un script que parsea una web, almacena los datos en una base de datos y luego los imprime en pantalla.
Para obtener la web lo hago con CURL
Código PHP:
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
// Hacemos varias llamadas para asegurar
$contents = get_file_contents($url);
//Intento solucionar mi problema
function get_file_contents($url)
{
$Tries = 0;
do
{
if ($Tries > 0) sleep(1); # Wait for a sec before retrieving again
$contents = @file_get_contents_curl($url);
$Tries++;
} while ($Tries <= 5 && $contents === FALSE);
if ($contents == "") $contents = FALSE;
return $contents;
}
Mi PROBLEMA es el siguiente:
La pagina tarda en mostrarme los resultados y mi script de parseo se ejecuta antes de almacenar la página arrojandome resultados vacios, tengo que actualizar la pagina una o dos veces y ya me funciona. GRACIAS