【问题标题】:Yahoo Finance All Currencies quote API Documentation雅虎财经全币种报价 API 文档
【发布时间】:2011-07-03 18:20:43
【问题描述】:

我已经使用这个提要很长时间了,我相信 Apple 在其中一个 mac 小部件中也是这样做的。但真正令人好奇的是,我根本找不到任何文档,我已经尝试了 google 和一切。

http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote

我可以看到人们使用不同的参数,例如 view=basic date=Ymd; currency=true,但没有任何官方信息真是太可怕了。

现在我使用这些参数:

format=jsoncallback=list 有时...

但这对我来说仍然是个谜。有谁知道它的真实情况,因为雅虎似乎试图将其隐藏在其他地方:)

【问题讨论】:

  • 您只是在寻找 API 调用的文档吗?
  • 是的,我只是在为这项服务寻找一个记录在案的 API,它通过返回包含与美元相关的所有货币的 JSON 或 XML 来完全满足我的需求
  • 我在这里处理同样的问题。我有一个问题,我们可以从您问题中提到的雅虎链接获取数据吗?

标签: json api yahoo currency finance


【解决方案1】:

根据我所做的研究,您正在使用的 API 似乎没有任何可用的文档。根据您尝试获取的数据,我建议使用 Yahoo 的 YQL API 访问 Yahoo Finance (An example can be found here)。或者,您可以尝试使用这种有据可查的方式来get CSV data from Yahoo Finance

编辑:

Yahoo developer forums 上进行了一些讨论,看起来没有文档(强调我的):

缺少文档的原因是我们没有 Finance API。似乎有些人对用于提取财务数据的 API 进行了逆向工程,但这样做违反了我们的服务条款(不重新分发财务数据),因此我建议您避免使用这些网络服务。

同时,您列出的 URL 可以使用 YQL console 访问,虽然我不够精明,不知道如何使用它提取 URL 参数。

【讨论】:

  • 嗨 Nicholas,感谢您提供的信息,据我所知,您提供的链接仅涉及股票信息,不幸的是,我认为这不能解决我的问题,因为我需要汇率之前提供的链接之类的信息,不是库存:(
  • 抱歉,我会继续寻找。 :)
  • 是的,感谢 Nicolas 深入挖掘,我真的不明白他们为什么会避免使用提要,无论如何......创建一个可以改变结果基于传递的自定义参数,至少供个人使用。在没有任何支持的情况下,这种事情在网络上飞来飞去仍然有点令人沮丧,但再次感谢您的帮助
  • 这太棒了 YQL 是我见过的最好的免费云
  • 如果您想要使用 YQL 的教程和 C# 示例,请查看此处:jarloo.com/get-yahoo-finance-api-data-via-yql。更多关于 C# 中 CSV API 的信息可以在这里找到jarloo.com/yahoo_finance
【解决方案2】:

正如 NT3RP 告诉我们的那样:

...我们(雅虎!)没有财务 API。似乎有些人对用于提取财务数据的 API 进行了逆向工程,但他们违反了我们的服务条款...

所以我只是想与您分享这个网站:
http://josscrowcroft.github.com/open-exchange-rates/
[更新:网站已移至 -http://openexchangerates.org]

这个网站说:

没有访问费用,没有速率限制,没有丑陋的 XML - 只是免费的,每小时更新的 JSON 格式的汇率
[更新:免费供个人使用,对您的企业来说很划算。]

我希望我有所帮助,这对您(以及其他人)有些用处。 :)

【讨论】:

  • 它来自同一个 yahoo api
  • 它非常有用且简单,但要在 2012 年 9 月付款
  • 每月只有 1000 个 API 调用免费。
  • “永远免费”计划仍然可用。谢谢。
【解决方案3】:

我正在开发一个需要货币转换的应用程序,并且一直在使用 Open Exchange Rates,因为由于该应用程序处于测试阶段,所以我不会付款。但截至 2012 年 9 月,Open Exchange Rates 将为非个人支付,因此我检查了他们使用的是 Yahoo Finance Webservice(“不存在”的服务)并在此处查找有关它的文档,并且选择使用 YQL。

将 YQL 与由 NT3RP 链接的 Yahoo Finance 表 (yahoo.finance.quotes) 结合使用时,货币以符号="ISOCODE=X" 显示,例如:“ARS=X”表示阿根廷比索,“AUD=X”表示澳元。 "USD=X" 不存在,但它会是 1,因为其余的是兑美元汇率。

OP API 上的“价格”值位于表格的“LastTradePriceOnly”字段中。对于我的应用程序,我使用了“询问”字段。

【讨论】:

    【解决方案4】:

    这可能会有所帮助: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=EURUSD=X,GBPUSD=X 它将返回 csv 文件:

    "EUR",1.2972
    "GBP",1.6034
    

    或者如果你需要 json: Yahoo csv parser

    【讨论】:

    • 如何绑定你的两个链接,当我点击测试按钮时它工作得很好)但是我怎样才能得到 json 而不是 csv 直接链接?
    • 但是如何获得直接链接?
    • 直接链接是什么意思?为什么这个链接不是直接的?
    • 好的,我的意思是直接链接,例如当您将该链接设置到浏览器中的地址行并获取 JSON 时。使用您的链接我需要导航到解析器并按下测试按钮,然后我收到 JSON
    【解决方案5】:

    注意!!!

    服务被雅虎暂停,解决方案不再有效。

    我现在使用https://currencyscoop.com/免费 帐户,让我可以在商业上使用 API,每月最多 5000 个请求(大约每 10 分钟一个请求) )。

    过时的解决方案

    从 Yahoo 获取可以从 REST 查询中解析的 JSON 或 XML。

    您可以从任何货币兑换成任何货币,甚至可以使用 YQL(雅虎查询语言)获取查询的日期和时间。

    https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fd% 2Fquotes.csv%3Fe%3D.csv%26f%3Dnl1d1t1%26s%3Dusdeur%3DX%22%3B&format=json&callback=

    这将带来如下示例:

    {
     "query": {
      "count": 1,
      "created": "2016-02-12T07:07:30Z",
      "lang": "en-US",
      "results": {
       "row": {
        "col0": "USD/EUR",
        "col1": "0.8835",
        "col2": "2/12/2016",
        "col3": "7:07am"
       }
      }
     }
    }
    

    你可以试试the console

    我认为这不会违反任何服务条款,因为它是 100% 雅虎解决方案。

    【讨论】:

    • 优秀的解决方案,对我来说很好,我需要将美元转换为巴西雷亚尔。惊人的!坦克@FedeKrum
    • 太棒了,我一直在努力实现这样的目标。你是怎么得到像f=nl1d1t1这个参数这样的列的显示格式的。我尝试了各种方法,但找不到任何参考。有什么想法吗?
    • 看起来雅虎弃用了这项伟大的服务
    • 你是对的!我今天得到了这个。 {"query":{"count":1,"created":"2017-11-12T22:50:18Z","lang":"en-us","re​​sults":{"row":{"col0 ":" Yahoo! - 403 Forbidden -- error 403我们注意到该服务的使用违反了雅虎条款服务。因此","col1":"该服务已停止。对于所有未来的市场和股票数据研究","col2":"请参阅finance.yahoo.com。 "}}}}
    • 控制台也死了
    【解决方案6】:

    我已使用此 URL 获取多个货币市场报价。

    http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=USD=X,CAD=X,EUR=X

    "USD",1.0000
    "CAD",1.2458
    "EUR",0.8396
    

    在 PHP 中可以这样解析:

    $symbols = ['USD=X', 'CAD=X', 'EUR=X'];
    $url = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=".join($symbols, ',');
    
    $quote = array_map( 'str_getcsv', file($url) );
    
    foreach ($quote as $key => $symb) {
        $symbol = $quote[$key][0];
        $value = $quote[$key][1];
    }
    

    【讨论】:

      【解决方案7】:

      更新了 Yahoo! 的查询金融,

      https://query1.finance.yahoo.com/v7/finance/quote?&symbols=USD,CAD,EUR,XMR&fields=regularMarketPrice
      

      返回

      {
      "quoteResponse": {
          "result": [
              {
                  "language": "en-US",
                  "region": "US",
                  "quoteType": "ETF",
                  "quoteSourceName": "Delayed Quote",
                  "triggerable": true,
                  "exchange": "PCX",
                  "exchangeTimezoneName": "America/New_York",
                  "exchangeTimezoneShortName": "EDT",
                  "gmtOffSetMilliseconds": -14400000,
                  "market": "us_market",
                  "esgPopulated": false,
                  "firstTradeDateMilliseconds": 1170340200000,
                  "priceHint": 2,
                  "regularMarketTime": 1628712000,
                  "regularMarketPrice": 35.56,
                  "fullExchangeName": "NYSEArca",
                  "tradeable": false,
                  "sourceInterval": 15,
                  "exchangeDataDelayedBy": 0,
                  "marketState": "PRE",
                  "symbol": "USD"
              },
              {
                  "language": "en-US",
                  "region": "US",
                  "quoteType": "ETF",
                  "quoteSourceName": "Delayed Quote",
                  "triggerable": true,
                  "exchange": "PCX",
                  "exchangeTimezoneName": "America/New_York",
                  "exchangeTimezoneShortName": "EDT",
                  "gmtOffSetMilliseconds": -14400000,
                  "market": "us_market",
                  "esgPopulated": false,
                  "firstTradeDateMilliseconds": 1320935400000,
                  "priceHint": 2,
                  "regularMarketTime": 1411675200,
                  "regularMarketPrice": 95.879,
                  "fullExchangeName": "NYSEArca",
                  "tradeable": false,
                  "sourceInterval": 15,
                  "exchangeDataDelayedBy": 0,
                  "marketState": "PRE",
                  "symbol": "CAD"
              },
              {
                  "language": "en-US",
                  "region": "US",
                  "quoteType": "INDEX",
                  "triggerable": false,
                  "exchange": "NYS",
                  "exchangeTimezoneName": "America/New_York",
                  "exchangeTimezoneShortName": "EDT",
                  "gmtOffSetMilliseconds": -14400000,
                  "market": "us_market",
                  "esgPopulated": false,
                  "firstTradeDateMilliseconds": 1543501800000,
                  "priceHint": 4,
                  "regularMarketTime": 0,
                  "regularMarketPrice": 0.0,
                  "fullExchangeName": "NYSE",
                  "tradeable": false,
                  "sourceInterval": 15,
                  "exchangeDataDelayedBy": 0,
                  "marketState": "PRE",
                  "symbol": "EUR"
              },
              {
                  "language": "en-US",
                  "region": "US",
                  "quoteType": "ECNQUOTE",
                  "quoteSourceName": "Delayed Quote",
                  "triggerable": true,
                  "exchange": "NMS",
                  "exchangeTimezoneName": "America/New_York",
                  "exchangeTimezoneShortName": "EDT",
                  "gmtOffSetMilliseconds": -14400000,
                  "market": "us_market",
                  "esgPopulated": false,
                  "firstTradeDateMilliseconds": 1493213400000,
                  "fullExchangeName": "NasdaqGS",
                  "tradeable": false,
                  "sourceInterval": 15,
                  "exchangeDataDelayedBy": 0,
                  "marketState": "PRE",
                  "symbol": "XMR"
              }
          ],
          "error": null
      }
      

      }

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-12
      相关资源
      最近更新 更多