Ok, pues mira estamos trabajando con simple html dom
Y estamos parseando una web .
Pues bien , esta web se sobrecarga rapido y tira errores si se parsean muchas paginas a la vez
pues lo que quiero es que no se visiten todas las URL a la vez si no que haya un intervalo de tiempo entre la carga de un enlace y el siguiente, para evitar que pete la pagina de la que se toman los datos
hos dejo las dos funciones que tengo:
Código PHP:
function getTodosLinksProductos(){
$todosLinks = array();
for($k=1;$k<2;$k++){//462
$html = file_get_html(URL_LAPTOP.'/modelsearch.php?order=panel_id&by=desc&page='.$k);
foreach ($html->find('div.con_list') as $div){
foreach($div->find('form') as $form){
foreach($form->find('tr') as $tr){
foreach($tr->find('td') as $td){
foreach($td->find('a') as $enlace){
if (preg_match('/Specification/i',$enlace->title) && $enlace->href != ""){
$todosLinks[] = URL_LAPTOP.$enlace->href;
}}
}}}}
}
$html->clear();
unset($html);
return $todosLinks;
}
function conseguirtexto($enlace){
$valor = array();
$html = file_get_html($enlace);
for($k=0;$k<9;$k++){
$divContenedor = $html->find('div.tabwrapB',$k);
if($divContenedor == null){
$divContenedor = $html->find('div.tabwrapB');
foreach($divContenedor as $div){
foreach($div->find('th') as $campo){
$descripcion[] = "<p>".$campo->plaintext;
}
$cont = 0;
foreach($div->find('td') as $campo){
if( $campo->plaintext != ''){
$descripcion[$cont] .= "|".$campo->plaintext."</p>";
if($cont == 0)
+$cont;}if( $campo->plaintext == ''){
foreach($campo->find('img') as $img){
$descripcion[$cont] .= "|".$img->title."</p>";
if($cont == 0)
+$cont;}}if( $campo->plaintext != ''){
foreach($campo->find('img') as $img){
$descripcion[$cont] .= "|".$img->title."</p>";
if($cont == 0)
+$cont;}}
}
} }
else{
foreach($divContenedor->find('tr') as $campo){
$descripcion[] = '';
$cont = 0;
foreach($campo->find('th') as $th){
$descripcion[$cont] .= '<p>'.$th->plaintext;
if($cont == 0)
+$cont;}
foreach($campo->find('td') as $td){
if( $td->plaintext != ''){
$descripcion[$cont] .= $td->plaintext.'</p>';
if($cont == 0)
+$cont;}if( $td->plaintext == ''){
foreach($td->find('img') as $img){
$descripcion[$cont] .= $img->title.'</p>';
if($cont == 0)
+$cont;}}if( $td->plaintext != ''){
foreach($td->find('img') as $img){
$descripcion[$cont] .= $img->title.',';
if($cont == 0)
+$cont;}}
}
}
} }//≤
$valor = str_replace ('≥','≥',str_replace ('×','×',$descripcion[$cont]));
//$valor = substr($valor2,0,-1);
return $valor;
}
Me acabo de dar cuenta que lo que pregunto serviria para la primera funcion pero no para la segunda.
Me podeis dar otra idea,para el segundo caso?
Muchas gracias un saludo