本站曾介绍过,经过代码添加雅虎财经的股票走势图到本身网站的方法(添加美国股市,添加沪深股市),调用的是一张图片。今天在德馨网站,看到了从雅虎财经频道获取股票数据的API(Yahoo! Finance stockAPI),以为 API 使用更普遍,做个转引。web
一、经过API获取实时数据ide
请求地址网站
http://finance.yahoo.com/d/quotes.csv?s=<股票名称>&f=<数据列选项>加密
参数图片
s –表示股票名称,多个股票之间使用英文加号分隔,如”XOM+BBDb.TO+JNJ+MSFT”,罗列了四个公司的股票:XOM,BBDb.TO, JNJ, MSFT。开发
f – 表示返回数据列,如”snd1l1yr”。更详细的参见雅虎股票 API f参数对照表。webservice
二、经过API获取历史数据string
请求地址it
http://ichart.yahoo.com/table.csv?s=<string>&a=<int>&b=<int>&c=<int>&d=<int>&e=<int>&f=<int>&g=d&ignore=.csvtable
参数
s – 股票名称
a – 起始时间,月
b – 起始时间,日
c – 起始时间,年
d – 结束时间,月
e – 结束时间,日
f – 结束时间,年
g – 时间周期。Example: g=w, 表示周期是’周’。d->’日’(day),w->’周’(week),m->’月’(mouth),v->’dividendsonly’
必定注意月份参数,其值比真实数据-1。如须要9月数据,则写为08。
三、经过API获取深沪股票数据
雅虎的API是国际性的,支持查询国内沪深股市的数据,但代码稍微变更一下,如浦发银行的代号是:600000.SS。规则是:上海市场末尾加.ss,深圳市场末尾加.sz。
最近股市甚火,受聘开发一股票网站,股票的数据从哪里来成了一个大问题,股票软件通常都是加密处理的,还有一些webservices也是要账号 的,免费的方法只有一种了,抓别人网站的数据。好在经我研究,发现yahoo提供国内和国外股市天天的交易数据资料,这可谓一大幸事啊。
http://table.finance.yahoo.com/table.csv?s=ibm&d=6&e=22&f=2006&g=d&a=11&b=16&c=1991&ignore=.csv
上面的连接能够抓取IBM股票从1991年11月16日起到2006年6月22的数据。把ibm改为sohu,就能够抓到sohu的股票数据了。
http://table.finance.yahoo.com/table.csv?s=sohu&d=6&e=22&f=2008&g=d&a=11&b=16&c=2008&ignore=.csv
上面连接能够抓搜狐股票的数据。
那么中国股市的数据有没有呢?答案是确定的,不过要按照下面的参数作些调整,下面提供全球证券交易所的资料。
上证股票是股票代码后面加上.ss,深证股票是股票代码后面加上.sz
例如:000001 = 000001.sz
深市数据连接:http://table.finance.yahoo.com/table.csv?s=000001.sz
上市数据连接:http://table.finance.yahoo.com/table.csv?s=600000.ss
上证综指代码:000001.ss,深证成指代码:399001.SZ,沪深300代码:000300.ss
下面就是世界股票交易所的网址和缩写,要查找哪一个股票交易所的数据,就按照上面的格式以此类推。
上海交易所=cn.finance.yahoo.com,.SS,Chinese,sl1d1t1c1ohgv
深圳交易所=cn.finance.yahoo.com,.SZ,Chinese,sl1d1t1c1ohgv
美国交易所=finance.yahoo.com,,United States,sl1d1t1c1ohgv
加拿大=ca.finance.yahoo.com,.TO,Toronto,sl1d1t1c1ohgv
新西兰=au.finance.yahoo.com,.NZ,sl1d1t1c1ohgv
新加坡=sg.finance.yahoo.com,.SI,Singapore,sl1d1t1c1ohgv
香港=hk.finance.yahoo.com,.HK,Hong Kong,sl1d1t1c1ohgv
台湾=tw.finance.yahoo.com,.TW,Taiwan,sl1d1t1c1ohgv
印度=in.finance.yahoo.com,.BO,Bombay,sl1d1t1c1ohgv
伦敦=uk.finance.yahoo.com,.L,London,sl1d1t1c1ohgv
澳洲=au.finance.yahoo.com,.AX,Sydney,sl1d1t1c1ohgv
巴西=br.finance.yahoo.com,.SA,Sao Paulo,sl1d1t1c1ohgv
瑞典=se.finance.yahoo.com,.ST,Stockholm,sl1d1t1c1ohgv