Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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);
?>Carregando comentários...