【问题标题】:yahoo finance API stopped working [closed]雅虎金融API停止工作[关闭]
【发布时间】:2017-05-17 20:30:13
【问题描述】:

还有其他人对此 API 有疑问吗?我最近才开始使用它,但突然间,我和其他人都在工作的所有东西都不再工作了,首先是 CSV 界面,现在是 YQL 界面。很惊讶,我在此板上或谷歌搜索中没有看到任何提及。

【问题讨论】:

    标签: yahoo-api yahoo-finance


    【解决方案1】:

    您仍然可以退出周期,因为间隔以秒 (60*60*24) 为单位,一天 = 86,400。

    cookie 是问题所在。这就是我在 VBA 中的做法:https://stackoverflow.com/a/44055850/8027976

    第 1 期示例:

    Dim baseDate As Date:   baseDate = #1/1/1970#
    Dim period1 As Long:    period1 = (startDate - baseDate) * 86400
    Dim period2 As Long:    period2 = (endDate - baseDate + 0.8) * 86400
    

    您需要“.8”,否则,它不会拉动收盘价。

    【讨论】:

      【解决方案2】:

      是的,它不再工作了。他们改变了编码,所以现在它看起来像 https://query1.finance.yahoo.com/v7/finance/download/IWM?period1=1492465014&period2=1495057014&interval=1d&events=history&crumb=oL864EniL6D

      显然他们想要植入 cookie,因此无法实现自动化。 period1 和 period2 数字与日期(在本例中分别为 2016 年 5 月 17 日和 2017 年 5 月 17 日)之间没有明确的等价性,因此您甚至无法对日期进行编程。

      我不知道为什么。我很感激多年来下载数据,我很想恢复这种能力。

      【讨论】:

      • 它仍然可以自动化,请参阅我在另一个线程中的帖子。
      • 非常感谢,我找到了,觉得很有帮助。但是我不确定如何找到 cookie 的值。你能给我一个提示吗?谢谢!
      • @rxex 您可以以编程方式解析 cookie 和 crumb:请参阅 stackoverflow.com/a/44050039/2279831
      【解决方案3】:

      周期似乎是 UTC 中纪元和一天开始之间的秒数。在 JavaScript 中计算周期的方法如下:

      new Date(2017,4,18).valueOf()/1000 - new Date(2017,4,18).getTimezoneOffset()*60
      

      【讨论】:

        猜你喜欢
        • 2017-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        • 2018-09-24
        • 1970-01-01
        相关资源
        最近更新 更多