Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2015, 20:48
Avatar de javiipg
javiipg
 
Fecha de Ingreso: febrero-2015
Ubicación: Barcelona
Mensajes: 10
Antigüedad: 9 años, 9 meses
Puntos: 1
Obtener dato web con XPATH

Buenas developers!!!

Realizando un código para obtener una serie de datos de una página web. Me doy de canto en los dientes con un paso en el que no logro progresar. Os explico.

Debo de obtener un número que está dentro de una tabla y para ello utilizo el método DOMXpath para recoger este valor. El problema es que no logro obtenerlo... sin embargo utilizando el mismo código para otro valores que no se encuentras dentro de una tabla, no tengo ningún problema.

Código PHP:
function getPrints($url)
    {
        
        
$contentweb getURL($url);
        
libxml_use_internal_errorstrue);
        
$doc = new DOMDocument$doc->loadHTML$contentweb);
        
$xpath = new DOMXpath$doc);
        
$node $xpath->query'//*[@id="tbl-10144"]/tbody/tr[37]/td[5]/div')->item0);

        if (!
is_null($node)) {

            echo 
$node->getElementsByTagName("div")->textContent;
            
//echo "prueba";
            //exit;
        
}else{
            echo 
"No hay datos";
        }
    } 
Sin embargo si pruebo de obtener cualquier otro dato que no se encuentre dentro de una tabla, no tengo ningún problema en obtenerlo. Ej:

Código PHP:
function getCopies($url)
    {
        
        
$contentweb getURL($url);
        
libxml_use_internal_errorstrue);
        
$doc = new DOMDocument$doc->loadHTML$contentweb);
        
$xpath = new DOMXpath$doc);
        
$node $xpath->query'//*[@id="itm-9353"]/div[2]')->item0);
        
$copies $node->textContent;
        
$copies str_replace(',','',$copies);  
        
$copies intval($copies);
        return 
$copies;;
    } 

La ruta del XPATH imagino que está bien. Utilizo el Google Chrome para obtener las rutas de manera rápida y sencilla. (Adjunto imagne)






Os adjunto una pequeña imagen donde sale parte del código HTML de la web y selecciono el dato que quiero obtener.



Alguna idea de como podría obtenerlo? Estoy abordado ya de tanto probar.

Espero vuestra ayuda, y gracias de antemano!!
Un saludo!!
JaviiPG