Vamos aprender como utilizar o PHP para retirar conteúdo de uma página sem ter de usar REGEX. Neste exemplo vamos capturar 2 dados: A cotação de compra do dolar e a data da cotação.
A página em si é esta: Banco Central do Brasil – Dolar Americano.
Lembrando que antes de retirar o conteúdo de qualquer página para uso em seu site, pergunte ao dono do site se o dado pode ser utilizado.
Entre na página e visualize o código fonte de onde você irá retirar o conteúdo. Neste caso eu vou retirar basicamente esta parte do código:
<td ALIGN="CENTER" class="fundoPadraoBClaro2">11/06/2010</td><td ALIGN="right" class="fundoPadraoBClaro2">1,8117</td>
Agora vamos começar o PHP, primeiro vamos pegar a URL do site acima:
//URL DO SITE A SER CAPTURADO $url = 'http://www4.bcb.gov.br/pec/taxas/batch/taxas.asp?id=txdolar&id=txdolar';
Depois vamos pegar todo código html da página e jogar em uma variável do tipo String usando o file_get_contents
//PEGAR TODO CÓDIGO HTML PARA UMA VARIAVEL STRING $site = file_get_contents($url);
Vamos pegar a data primeiro, vamos pegar o código HTML que envolve a data e coloca-la em um explode, primeiro a TAG anterior e depois a que fecha o dado em si.
//PEGAR A DATA $data1 = explode('<td ALIGN="CENTER" class="fundoPadraoBClaro2">', $site); $data2 = explode('</td>',$data1[1]); $data = $data2[0];
Agora vamos pegar a cotação seguindo o mesmo processo acima.
//PEGAR COTAÇÃO $cotacao1 = explode('<td ALIGN="right" class="fundoPadraoBClaro2">', $site); $cotacao2 = explode('</td>',$cotacao1[1]); $cotacao = $cotacao2[0];
Agora vamos ver o resultado final
print 'Data: '.$data.' Cotação: R$ '.$cotacao;
Pronto, abaixo o script completo:
<?php //CODIGO HTML: <td ALIGN="CENTER" class="fundoPadraoBClaro2">11/06/2010</td><td ALIGN="right" class="fundoPadraoBClaro2">1,8117</td> //URL DO SITE A SER CAPTURADO $url = 'http://www4.bcb.gov.br/pec/taxas/batch/taxas.asp?id=txdolar&id=txdolar'; //PEGAR TODO CÓDIGO HTML PARA UMA VARIAVEL STRING $site = file_get_contents($url); //PEGAR A DATA $data1 = explode('<td ALIGN="CENTER" class="fundoPadraoBClaro2">', $site); $data2 = explode('</td>',$data1[1]); $data = $data2[0]; //PEGAR COTAÇÃO $cotacao1 = explode('<td ALIGN="right" class="fundoPadraoBClaro2">', $site); $cotacao2 = explode('</td>',$cotacao1[1]); $cotacao = $cotacao2[0]; print 'Data: '.$data.' Cotação: R$ '.$cotacao; ?>
Popularity: 1%












sáb, jun 12, 2010
1 Comentário