首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新的Yahoo Finance URL

新的Yahoo Finance URL
EN

Stack Overflow用户
提问于 2017-05-20 03:51:24
回答 4查看 7.6K关注 0票数 4

由于先前的Yahoo下载URL不再工作,所以现在留给我的是如下内容:

https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1492524105&period2=1495116105&interval=1d&events=history&crumb=tO1hNZoUQeQ

有谁知道period1 (和period2)是如何转换成日期的(反之亦然)

任何帮助都很感激!

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-20 04:59:47

看起来它们只是unix时间戳,或者说是来自时代的秒。以下是一个可以为您隐藏信息的网站:http://www.unixtimestamp.com

票数 2
EN

Stack Overflow用户

发布于 2017-05-20 05:05:20

这是面向重建(某种程度上)的旧功能。我用Chrome运行Fedora。

(1)为您的web浏览器找出您的用户代理字符串(我在googled上搜索了“我的用户代理字符串是什么”之类的内容,并很快找到了一个页面,该页面将为您正在使用的浏览器打印出来)。它将类似于"Mozilla/5.0 (X11;Linux x86_64)“

(2)安装一个用于导出Chrome " cookies.txt“文件的包(也在googled中搜索”ChromeExportingcookies.txt“之类的内容,并很快找到一个用于导出正在查看的页面的cookies.txt的铬扩展名)。

(3)访问历史下载页面,以获得雅虎金融公司感兴趣的符号。在下载链接中保存“面包屑”(如上面所示),并保存该页面的cookies.txt。

(4)现在您可以使用wget获取数据。该命令将类似于:

wget -load- COOKIES您保存的COOKIES文件“您找到的用户代理字符串”,您希望获得的输出CSV -U )符号(您想要历史数据),您保存的?period1=UNIX START TIME\&period2=UNIX END TIME\&interval=1d\&events=history\&crumb=THE CRUMB。

period1=..。是开始日期的UNIX时间戳(自1970年1月-1: 00:00:00 :00)和period2=.结束日期的UNIX时间戳。

我可以用这种方式以编程方式下载许多符号。结果CSV文件的列顺序与以前的ichart不同,我在历史数据中发现的错误数量明显高于数据中已经相当高的错误率。

没有猜测这将工作多长时间,或它是否稳定了很长时间。YMMV

票数 2
EN

Stack Overflow用户

发布于 2017-05-22 03:15:12

它们是unix时间戳,或自Epoch以来的秒。

取自http://www.unixtimestamp.com/的报价

unix时间戳是什么? unix时间戳是一种将时间作为运行总秒来跟踪的方法。这一统计从1970年1月1日世界协调时的Unix时代开始。因此,unix时间戳只是特定日期与Unix之间的秒数。还应该指出(感谢本网站访问者的评论),无论您位于全球何处,这一时间点在技术上都不会改变。这对于计算机系统在动态和分布式应用程序中跟踪和排序日期信息非常有用,无论是在线应用程序还是客户端。

下面的C#代码有助于将DateTime转换为Unix时间戳

代码语言:javascript
复制
//credits to ScottCher
//reference http://stackoverflow.com/questions/249760/how-to-convert-a-unix-timestamp-to-datetime-and-vice-versa
private static DateTime UnixTimestampToDateTime(double unixTimeStamp)
{
    //Unix timestamp Is seconds past epoch
    return new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddSeconds(unixTimeStamp).ToLocalTime();
}

//credits to Dmitry Fedorkov
//reference http://stackoverflow.com/questions/249760/how-to-convert-a-unix-timestamp-to-datetime-and-vice-versa
private static double DateTimeToUnixTimestamp(DateTime dateTime)
{
    //Unix timestamp Is seconds past epoch
    return (dateTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
}

备注:在替换为period1和period2之前,请确保将其整整到零小数点

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44081723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档