Ver Mensaje Individual
  #10  
Antiguo 10-05-2011
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Reputación: 19
papulo Va por buen camino
Bueno bueno,

como lo haríais para analizar tablas dentro de tablas dentro de tablas (repetir n veces), la forma que tengo de analizar las webs, es primero buscar una "marca del tesoro", una cadena de texto que identifique el elemento contenedor de los datos que necesito extraer; puede ser un título o una cosa similar, exclusiva al 100%.

Adjunto un fichero de ejemplo, donde quiero sacar los datos "Equivalencias":

Código:
<td valign="top" colspan="2" class="textos">
HITACHI:<br>
S114-850, -A,-B,-C<br>
OPEL:<br>
1202033<br>
1202146<br>
1202161</td>
También adjunto las dos librerías que usan en el libro para trabajar.

De hecho, ahora usaba la función
Código PHP:
$text_html "<div>...</div>"//el texto html para analizar
$delimitador_inicio "<table";
$delimitacion_final "</table>";
$tablas parse_array($text_html$delimitador_inicio$delimitacion_final); 
La teoría dice que con esta llamada, tendría todas las tablas existentes en el código dentro de un array pero veo que se hace la picha un lío la pobre.

Un ejemplo de programa en PHP:

Código PHP:
<?php

require_once 'LIB_http.php';
require_once 
'LIB_parse.php';

set_time_limit(0);

$web_source file_get_contents("http://localhost/SkyNet/html/robots/table/dummy.html");

$table_array parse_array($web_source"<table""</table>");

print_r($table_array);

for (
$xx 0$xx count($table_array); $xx++) {
    
$marca_tabla "Equivalencias";
    if (
stristr($table_array[$xx], $marca_tabla)) {
        
$product_row_array parse_array($table_array[$xx], "<tr""</tr>");
        for (
$table_row 0$table_row count($product_row_array); $table_row++) {
            if (
stristr($product_row_array[$table_row], $marca)) {
                
$product_cell_array parse_array($product_row_array[$table_row], "<td""</td>");
            }
        }
    }
}
?>
Al final el array con las tablas anda manco.
Archivos Adjuntos
Tipo de Archivo: zip test.zip (1,6 KB, 3 visitas)
Tipo de Archivo: zip LIB_parse.zip (3,4 KB, 2 visitas)
Tipo de Archivo: zip LIB_http.zip (3,8 KB, 2 visitas)
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0

Última edición por papulo fecha: 10-05-2011 a las 12:50:56.
Responder Con Cita