使用Yahoo Finance获取PHP货币的货币买/卖价

时间:2014-02-20 23:33:03

标签: php yahoo-finance currency-exchange-rates

我发现/黑客攻击(我的意思是黑客攻击,我知道它并不漂亮)下面的代码。

我要完成的任务:

  • 获取3种货币的询价/出价值
  • 货币是美元,巴西雷亚尔,
  • EUR基础货币为ARS
  • 避免过于花哨,我只需要回显6个值(从基础货币中买入/询问每种货币)

我能够得到我认为的平均费率,但我不确定如何获得买/卖价值。

我注意到:   - 如果将$ usd_allData [1]更改为$ usd_allData [2],则会得到日期   - 如果你将$ usd_allData [1]更改为$ usd_allData [3],你会得到时间

如果您有任何天才的见解或闪现,请以我的方式发送。

提前致谢!


<?php

/* USD
------------------------- */
$usd_from   = 'USD'; /*change it to your required currencies */
$usd_to     = 'ARS';
$usd_url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $usd_from . $usd_to .'=X';
$usd_handle = @fopen($usd_url, 'r');

if ($usd_handle) {
    $usd_result = fgets($usd_handle, 4096);
    fclose($usd_handle);
}
$usd_allData = explode(',',$usd_result); /* Get all the contents to an array */
$usd_Value = $usd_allData[1];

/* EUR
------------------------- */
$eur_from   = 'EUR'; /*change it to your required currencies */
$eur_to     = 'ARS';
$eur_url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $eur_from . $eur_to .'=X';
$eur_handle = @fopen($eur_url, 'r');

if ($eur_handle) {
    $eur_result = fgets($eur_handle, 4096);
    fclose($eur_handle);
}
$eur_allData = explode(',',$eur_result); /* Get all the contents to an array */
$eur_Value = $eur_allData[1];

/* BRL
------------------------- */
$brl_from   = 'BRL'; /*change it to your required currencies */
$brl_to     = 'ARS';
$brl_url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $brl_from .     $brl_to .'=X';
$brl_handle = @fopen($brl_url, 'r');

if ($brl_handle) {
    $brl_result = fgets($brl_handle, 4096);
    fclose($brl_handle);
}
$brl_allData = explode(',',$brl_result); /* Get all the contents to an array */
$brl_Value = $brl_allData[1];

echo (
    $usd_Value . '<br><hr>' .
    $eur_Value . '<br><hr>' .
    $brl_Value 
)

?>

2 个答案:

答案 0 :(得分:1)

你有没有想过谷歌而不是雅虎? Need API for currency converting

我也只是print_r()您的数组,看看是什么出来而不是逐项挑选。

答案 1 :(得分:0)

你刚刚结束了我的一天。做一个数组的'print_'r然后快速谷歌搜索让我看到这篇题为'Yahoo Finance (hidden) API'的文章

原来这个位是关键:

  

http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=

具体来说,接下来是:

  

&安培; F =

此后的字母将获得相应的变量。所以,这得到了sl1,d1,t1。

  

sl1d1t1

将其更改为下面的位(b2,b3),获得实时出价并询问pice(它有多准确,我不知道)

  

sl1d1t1b2b3

巨大,巨大,非常感谢!