Cotação do dolar, euro, e outras moedas em XML ou JSON com jQuery, Javascript ou PHP

Se você está enfrentando dificuldades para obter a cotação do dólar e do euro de forma simples, é importante evitar a captura de dados de outro site por meio do código HTML, pois isso não é uma solução eficiente e pode levar a problemas futuros. Em vez disso, é mais recomendado utilizar um webservice para esse propósito. Neste texto, vamos apresentar o uso do YQL (Yahoo! Query Language) como uma opção para obter essas informações.

Utilizando o YQL para obter a cotação

Primeiro, vamos mostrar um exemplo do uso do jQuery para obter a cotação do dólar em relação ao real (USDBRL) através do YQL. Lembre-se de incluir a biblioteca jQuery em seu documento HTML:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

Agora, veja o código JavaScript que faz a requisição ao YQL e exibe a cotação do dólar na página:

// URL com a Query do YQL
var url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%3D%22USDBRL%22&format=json&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";

// Obtem e trata os dados em JSON
$.getJSON( url, function( data ) {

  // Agrupa os dados em HTML
  try {
    var indices = '<p><strong>DOLAR</strong> R$ '+data.query.results.rate[0].Rate+'</p>';
  } catch(err) {
    var indices = err.message;
  }

  // Mostra a cotação do dolar na tag <div id="info"></div>
  $('#info').html(indices);
});

Sobre o YQL

O YQL é uma ferramenta oferecida pela Yahoo! Developer Network que permite consultar e manipular dados através de uma interface web, utilizando uma linguagem similar ao SQL. É uma ótima opção para acessar informações diversas, como notícias, clima, bolsa de valores e, é claro, cotações de moedas. Além disso, possui uma ferramenta de testes com um console para realizar as consultas.

query

Como explorar as tabelas do Yahoo! Finance

Se você deseja explorar as tabelas disponíveis no Yahoo! Finance, siga estes passos:

  1. Acesse o YQL Console.
  2. Selecione a opção “Show Community Tables” logo acima das tabelas à direita.
  3. Digite “finance” no campo de busca.
  4. Você verá todas as tabelas do Yahoo! Finance (cerca de 15 tabelas)
  5. Clique na tabela que será usada neste exemplo: yahoo.finance.xchange
  6. Ela já traz um exemplo de como será a consulta. Para obter a cotação do dólar em real (USDBRL) ou euro em real (EURBRL), utilize a seguinte consulta: select * from yahoo.finance.xchange where pair in ("USDBRL","EURBRL")
  7. Desmarque a opção “Diagnostics” logo abaixo do campo da consulta para simplificar o resultado.
  8. A saída poderá ser em XML ou JSON, escolha a que melhor lhe servir.
  9. Abaixo do resultado da consulta, haverá o link para usado na programação.

Também é possível termos a saída no formato CSV:

http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=USDBRL=X,EURBRL=X

"EUR",1.2972
"GBP",1.6034

Obtendo os dados em PHP

Se preferir obter os dados em PHP, basta utilizar as funções a seguir:

$json_str = file_get_contents( "[url_do_yql]" );
$data = json_decode($json_str);

Lembre-se de substituir [url_do_yql] pela URL gerada a partir da sua consulta no YQL.

O YQL oferece diversas possibilidades além da conversão de moedas, permitindo obter informações sobre notícias, clima, bolsa de valores e muito mais. Sinta-se à vontade para explorar as diferentes tabelas disponíveis!


Tags:

  • Yahoo
  • Dólar
  • Cotação
  • Query
  • API
  • jQuery
  • YQL

Compartilhar:

    O que achou do artigo?

    Escreva um comentário, deixe-me saber o que achou do artigo. Se tens uma dúvida basta perguntar:

    Resposta ao comentário:
    Loading...