Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Lenzi

Analisando dados com DOMDocument e DOMXPath PHP

Recommended Posts

Bom pessoal, estou usando as bibliotecas DOMDocument e DOMXPath para capturar informações de uma página.

 

Segue os exemplos.

 

A página mãe tem a seguinte estrutura.

<div class='moeda'>
<h3>Ouro</h3>
<div/>
<div class='moeda'>
<h3>Prata</h3>
<div/>
<div class='moeda'>
<h3>Bitcoin</h3>
<div/>

Quero buscar somente os valores da tag H3 da 3°div (Bitcoin).

 

Para isso estou usando o seguinte script. No entanto, ele me trás todos os valores H3 de todas as <div class='moeda'>.

    $url_do_site="http://site_da_pagina.com/moedas.html";

    $html = new DOMDocument();
    $html->loadHtmlFile($url_do_site);
    $xpath = new DOMXPath($html);
    
    $nodelist = $xpath->query("//div[@class='moeda']//h3");
    
    foreach ($nodelist as $n) {
        
        $link = $n->nodeValue;
    
        echo $link;

    }    

Ocorre que desta forma ele está trazendo todos h3 e quero apenas o último.

 

Como posso capturar apenas a 3°div?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bom, consegui resolver.

Para quem tiver dúvidas semelhantes, segue minha solução temporária.

Por hora não consigo explicar tecnicamente melhor. Vou continuar a estudar.



$url_do_site="http://site_da_pagina.com/moedas.html";

$html = new DOMDocument();
$html->loadHtmlFile($url_do_site);
$xpath = new DOMXPath($html);

$nodelist = $xpath->query("//div[@class='moeda']/h3[3]");

foreach ($nodelist as $n) {

$link = $n->nodeValue;

echo $link;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.