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.
private final String fonte: essa variável, a qual é uma constante, é responsável em armazenar a url do site do Banco Central com a cotação do dólar.
private CotacaoBean cotacao: é o objeto que representa o nosso Bean.
public Cotacao(): método construtor.
private void Extrai(String texto): método responsável em extrair da página do site o trecho do conteúdo que contém a cotação do dólar.
String data = new String(): string que terá a data da cotação postada no site.
String taxavenda = new String(): string que terá a cotação para venda do dólar.
String textocota= new String(): string com o texto da cotação.
Antes de prosseguir, vamos discutir como declarar uma expressão regular em Java. É simples demais, dentro do pacote java.util.regex.* definimos o Pattern (padrão) que deverá ser casado dentro do texto que queremos extrair a informação.
Pattern tabelacota = Pattern.compile("<table cellspacing=\"1\" summary=\"Cotação de fechamento do Dólar americano\">(.*?)</table>");
Em seguida, passamos para o Matcher. O qual é responsável em verificar no texto os trechos que se casam com o Padrão gerado.
Matcher m = tabelacota.matcher(texto);
Nesse if nós concatenamos os trechos retornados pelo Matcher.
E o mesmo se repete para a data e para a taxa de venda, porém a diferença nesses métodos é que não passamos o texto toda da página para verificarmos se existe o nosso padrão e sim, apenas o trecho do texto em que os dados com a cotação está presente.
[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.