Ir para conteúdo

POWERED BY:

Arquivado

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

leco_123

Recuperar dados de outro site

Recommended Posts

Boa tarde, estou com um problema em recuperar uma tabela de cotação agrícola de um site do governo http://celepar7.pr.gov.br/sima/cotdias1.asp tem muitas empresas que usam essas informações deste site, mais estou com dificuldades de conseguir essas informações, comecei a desenvolver mais não deu certo.

 



<?php


        // Nova instância de DOMDocument

       $DOMDocument = new DOMDocument( '1.0', 'iso-8859-1' );

        // URL Do site que você deseja extrair o conteudo

       $WebSite = 'http://celepar7.pr.gov.br/sima/cotdias1.asp';

        // Não preservar espaços em branco redundantes

       $DOMDocument->preserveWhiteSpace = false;

        //Carrega o conteudo do site 

       @$DOMDocument->loadHTML(file_get_contents( $WebSite ));
       /**
        * Nova instância do DOMXPath
        */
       $DOMXPath = new DOMXPath($DOMDocument);
       /**
        * Procura no Documento, um elemento 'table' que o id é igual a .. então avança pra seu filho 'tbody'
        * depois avança para o filho de 'tbody', que é o 'tr' que o atributo 'class' contenha uma substring de 'etblraw'
        * então avança para 'td', que recupera todos os valores de cada 'td' que não seje a primeira coluna na tabela
        * porque é a sequencia deles, creio que não seje útil pra você
        */
       foreach( $DOMXPath->query( './/table/tbody/tr/td' ) as $Nodes){
                /**
                 * Procura por todos os filhos de TD, que pode ser hrefs, ou textos .. etc
                 */
                foreach( $Nodes->childNodes as $Node ){
                         /**
                          * Monta um array com os valores encontrados, removendo os espaços em brancos adicionais 
                          */
                         $Data[] = utf8_decode( preg_replace( '/\s/', null, $Node->nodeValue ) );
                }
       }
       echo '<pre>';

	$Data = array_chunk( $Data, 12 );
   foreach( $Data as $index => $data ){
        foreach( $Data[ $index ] as $values ){
              if( is_numeric( $values ) ){
                  $val[ $index ][] = intval( $values );
              }else{
                  $val[ $index ][] = sprintf( "'%s'", $values );
              }
        }
   }
   for( $i = 0; $i < sizeof( $val ); ++$i ){
        $preparedValues[] = sprintf( '%s',  implode( ', ', $val[$i] ) );
   }
   	print_r( $preparedValues );

$primeiro=implode(',', $preparedValues);
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você repara no link q você postou o resultado é gerado de acordo com um id enviado via post a pagina ou seja se tentar o endereço direto http://celepar7.pr.gov.br/sima/cotdiap1.asp não vai recuperar nada pois vai dar erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabio como que faço pra recuperar esse id ou achar uma forma mais fácil de pagar esses dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, você pegou o endereco errado...

 

errado

 

$WebSite = 'http://celepar7.pr.gov.br/sima/cotdias1.asp';

 

e sim

 

http://celepar7.pr.g...ima/cotdiat.asp

 

 

entra aqui pra você ver o endere cocorreto....

 

http://celepar7.pr.gov.br/sima/

 

mais atencao gente, mais atencao...uma coisa simplerrima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente o que o Fabio falou mas que dados você quer recuperar, e de que forma..

 

da uma explicadinha melhor ai vlw

 

 

Então Preciso só que apa ressa todos os produtos e os valores da coluna pato branco

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.