2014-03-05 59 views
2

我目前正在尝试学习如何使用curl命令下载一些数据并遇到一些困难。所以我有一个股票代码列表(例如AAPL,GOOG,TGT,...),我想用这个链接(http://ichart.finance.yahoo.com/table.csv?s=YHOO&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv)将我需要的数据下载到一个csv文件中。我从另一个stackoverflow问题得到了主意答案(source of historical stock data)。使用卷曲下载文件

因此,这里是我的尝试

$ for i in $(cat ticker.txt); do curl -o $i.csv http://ichart.finance.yahoo.com 
/table.csv?s=$i&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv; done 

所以我有一个文本文件,所有我感兴趣的行情中,这下载一些文件,但随后的进程似乎挂了,就在停止结束。此外,正确的信息似乎并未下载(即从2010年到1996年,我从2014年到随机年份获得所有可用数据)。

我使用的是Git Bash,因为我运行的是Windows 7并且没有UNIX风格的操作系统来练习这些不同的命令。有人可以帮我解决这个问题,也许可以指出我做错了什么?

+0

准确显示'ticker.txt',可能是一些“\ n”的地方,和建议你使用bash脚本而不是一行来调试。同时显示当前日志。最后,先尝试一个股票代码 –

+1

你需要引用'URL' – kev

回答

1

你要引用网址:

for i in $(cat ticker.txt); do curl -o $i.csv "http://ichart.finance.yahoo.com 
/table.csv?s=$i&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv"; done 

我不知道URL该线程长度