Este artigo tem o objetivo de descrever uma aplicação que utiliza expressões regulares para extrair um determinado conteúdo em um site na Web. No nosso estudo de caso, vamos extrair a cotação do dólar que está no site do Banco Central.
/**
*Class Cotacao
* Created by Javier Zambrano Ferreria
* Date: 03/03/2008
* Purpose: acessar a página do banco central que contém a cotação do último dia,
* remover os dados de interesse (data e taxa de venda) e acrescentar na tabela do
* DCR.
* @author javierzf
*/
public class Cotacao {
private final String fonte= "http://www5.bcb.gov.br/pec/taxas/batch/taxas.asp?id=txdolar";
//A constante fonte é uma string que contém a url onde a cotação é divulgada no site do banco central;
private CotacaoBean cotacao;//classe bean para a cotação
//método construtor
public Cotacao() {
cotacao = new CotacaoBean();
}
/**
* Responsável em extrair as informações: data e taxa de venda.
* @param texto
*/
private void Extrai(String texto) {
String data = new String();
String taxavenda = new String();
String textocota= new String();
/**
* Removendo texto que interessa com expressões regulares
*/
Pattern tabelacota = Pattern.compile("<table cellspacing=\"1\" summary=\"Cotação de fechamento do Dólar americano\">(.*?)</table>");
Matcher m = tabelacota.matcher(texto);
if(m.find()) {
//System.out.println(m.group());
textocota = m.group();
}
//Imprime as informações da classe CotacaoBean
public void ImprimeCotacaobean() {
System.out.println("Cotação do Dólar");
System.out.println("Data: " + this.cotacao.getData());
System.out.println("Taxa de venda: " + this.cotacao.getTaxavenda());
}
public static void main(String[] args) {
Cotacao cotacao = new Cotacao();
cotacao.getPage();
cotacao.ImprimeCotacaobean();
}
[3] Comentário enviado por engos em 21/05/2008 - 08:47h
Muito bem detalhado, mas deveria ter dito que faria isso em Java, já na descrição.
Foi interessante o artigo, mas isso em PHP daria apenas 20% do trabalho, apesar de ser especialista em C, devo reconhecer que nesse tipo de caso a linguagem ideal é PHP.
[4] Comentário enviado por jzferreira em 21/05/2008 - 09:41h
Caro engos,
Eu não coloquei que era em Java, pois o artigo está na seção Java - Expressões Regulares. Como é o meu primeiro artigo, fica anotado a sua sugestão de colocar em que linguagem. A respeito do PHP, eu programo também em PHP e realmente ficaria interessante, porém depende do tipo de projeto que você queira fazer. Acho que com o Java em um sistema robusto é melhor do
[5] Comentário enviado por jzferreira em 21/05/2008 - 09:41h
Caro engos,
Eu não coloquei que era em Java, pois o artigo está na seção Java - Expressões Regulares. Como é o meu primeiro artigo, fica anotado a sua sugestão de colocar em que linguagem. A respeito do PHP, eu programo também em PHP e realmente ficaria interessante, porém depende do tipo de projeto que você queira fazer. Acho que com o Java em um sistema robusto é melhor do que PHP, mas seria interessante ver essa recuperação de cotação do dólar em PHP também.