我正在尝试从Yahoo!检索市场数据金融和剧本多年来一直运作良好,但最近,它停止显示道琼斯数据。这是URL:
http://download.finance.yahoo.com/d/quotes.csv?s=^DJI,^IXIC,^GSPC,^TNX&f=snl1d1t1c1ohg
网址应返回以下数据:
它实际上并没有为我返回CSV,我已经尝试了我能想到的一切,但无济于事,我没有看到任何人在网上遇到同样的问题。
任何想法,是否有人有同样的问题?
感谢。
答案 0 :(得分:31)
用INDU替换^ DJI(这是道指的代号之一) - 这将有效。
不知道为什么DJI上周末停止了工作 - 有人做了'负面增强'。
Cheerio
GT
答案 1 :(得分:26)
根据雅虎的说法:
http://developer.yahoo.net/forum/index.php?showtopic=6943
感谢您写信给Yahoo!金融。 我们了解到您报告说您无法下载^ DJI的CSV数据。我当然可以为您提供更多相关信息。 您遇到的限制是由于道琼斯指数的限制。雅虎不再能够以这种方式提供道琼斯指数数据。对由此造成的不便,我们深表歉意。 如果我能得到进一步的帮助,请告诉我。 再次感谢您与Yahoo!联系!金融。 问候, 布雷特 雅虎金融客户服务
另一篇暗示使用INDU的帖子似乎确实有用!...想知道雅虎(或道琼斯)是否错过了这个,它最终会消失......
答案 2 :(得分:8)
我知道这个问题已经回答了一段时间,但我最近遇到了这个^ DJI和Yahoo!由于Yahoo!的另一个变化,报价再次发布并提出了一个解决方案,可以帮助OP以及因搜索而到达此页面的任何其他人。
作为一点背景请注意,有几个URL可以用来从Yahoo下载历史报价数据。他们是:
1)http://download.finance.yahoo.com/d/quotes.csv
2)http://ichart.finance.yahoo.com/table.csv
3)http://finance.yahoo.com/q/hp
1)是OP列出的那个,2)实际上是你在网页下面显示的“下载”链接和3)是正常的历史价格报价网页URL。
事实证明,虽然1)自2011年8月起被马里奥·费尔南德斯(Mario Fernandez)提及后,其他一些人被封锁了,但是直到前几天才真正开始工作。我知道这是因为我一直在使用它,并且大约一周前它停止了工作(事实证明)。顺便说一下,2)有一个好处,它实际上可以让你检索比通过1)或3)显然可用的数据更多的数据,例如,你可以使用方法2)检索数据一直回到1928年,但是我离题了。无论如何,正如我所说,2)最近也停止了工作,这使我无法自动更新数据集/模型。
鉴于我实际上使用了^ DJI数据用于某些模型等,我最终花了一个小时或2个今天为正常的引号页面编写一个页面刮板(例如编号3),现在它将直接从中获取引号HTML引用网页。这是在用Python编写的开源命令行下载器应用程序的上下文中,我在过去几个月中做了一些小的工作。这是我目前用于定期刷新数据集的内容。有了最新的补丁,OP和其他任何想要下载^ DJI的人都可以根据需要下载^ DJI。
如果你想尝试一下,那么你需要首先下载并安装Python(在Windows上.Linux和Mac内置了Python。)我建议使用ActiveState的Python发行版,这里有:
http://www.activestate.com/activepython/downloads
请注意他们要求提供注册详细信息,但这不是强制性的。您可以忽略点击其中一个下载链接后获得的注册页面。
然后你需要pyQ程序源。您可以从项目页面获取此信息:
http://bazaar.launchpad.net/~wprins/python-pyq/trunk/view/head:/pyq.py
编辑2016-10-20:代码现在可以在github上使用,也可以在Python 3下运行:https://github.com/ByteJuggler/pyq
单击“下载”链接,并将脚本保存在合适的位置。然后打开一个命令提示符,“cd”到您下载脚本的文件夹,并尝试使用“pyq”运行脚本。假设已安装Python,则应向您显示使用情况摘要。在它最简单的形式中,命令如下:
pyq IBM
将获取IBM的实时报价行。
类似的东西:
pyq 20120601 20120701 IBM
...将从20120601到20120701日期获取IBM的报价。等等。输出实际上是CSV。如果要将输出保存到文件,请按正常方式重定向输出:
pyq 20120601 20120701 IBM> ibm.csv
无论如何,希望能有所帮助。 (我在今天早些时候偶然发现了这个页面,同时试图弄清楚为什么我的^ DJI数据集大约一周前就已经过时了,如果/当我想出一个解决方案,我决定回复这里。)
编辑:请注意^ DJI你应该引用自动收报机,例如:
pyq 20120601 20120701“^ DJI”>“^ DJI.csv”
答案 3 :(得分:5)
我认为你最好联系Yahoo! Finance。因为他们知道他们的系统并且很可能能够提供帮助。
答案 4 :(得分:4)
现在,雅虎阻止了INDU你可以使用追踪索引的ETF。我认为他们不会阻止它。
答案 5 :(得分:2)
我正在使用Google财经从Y获取数据!财务已停止工作。尽管谷歌未来也可能会改变他们的政策。在此之前我会访问
http://finance.google.com/finance/info?lient=ig&q=INDEXDJX:.DJI&callback=?
将返回JSONP文档。
答案 6 :(得分:1)
上周我看到了......
http://webdesignsnow.com/forums/about125.html,它描述了csv文件中的变化和消息。
答案 7 :(得分:1)
以下链接:http://finance.yahoo.com/q/hp?s=^DJI将为您提供一些您感兴趣的信息(如Open,DaysHigh和DaysLow)。
此外,以下不起作用的代码:
wget -qO ^DJI.csv "http://ichart.finance.yahoo.com/table.csv?s=^DJI"
可以替换为以下hack:
(echo "Date,Open,High,Low,Close,Volume,Adj Close"
for y in {0..7603..66}; do # increase 7603 if necessary
wget -qO- "http://finance.yahoo.com/q/hp?s=^DJI&y=$y" |
sed 's/<\/\(td\|a\)>/\n/g' |
grep yfnc_tabledata1 |
sed -e 's/<.*>//g' -e 's/\([0-9]\),\([0-9]\)/\1\2/g' |
grep -v ^$ |
awk 'BEGIN {m["Jan"]=1; m["Feb"]=2; m["Mar"]=3;
m["Apr"]=4; m["May"]=5; m["Jun"]=6;
m["Jul"]=7; m["Aug"]=8; m["Sep"]=9;
m["Oct"]=10; m["Nov"]=11; m["Dec"]=12}
NR%7==1 {printf "%d-%02d-%02d,",$3,m[$1],$2}
NR%7>1 {printf "%s,",$0} NR%7==0'
done) > ^DJI.csv
将生成一张表,其中包含自1985年1月29日开始的^ DJI的每日历史数据。