Sina stock data interface

以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据
股票接口http://hq.sinajs.cn/list=sh601006这个url会返回一串文本,例如:

var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92,
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";

这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
0:”大秦铁路”,股票名称;
1:”27.55″,今开盘;
2:”27.25″,昨收盘;
3:”26.91″,当前价;
4:”27.55″,今最高;
5:”26.20″,今最低;
6:”26.91″,买入价;
7:”26.92″,买出价;
8:”22114263″,成交量,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”589824680″,成交额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695″,“买一”申请4695股,即47手
11:”26.91″,买一价
12:”57590″,“买二”
13:”26.90″,买二价
14:”14700″,“买三”
15:”26.89″,买三价
16:”14300″,“买四”
17:”26.88″,买四价
18:”15100″,“买五”
19:”26.87″,买五价
20:”3100″,“卖一”申报3100股,即31手;
21:”26.92″,卖一价
(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
30:”2008-01-11″,日期;
31:”15:05:32″,时间;

这个接口对于JavaScript程序非常方便,通常的使用方式为,静态或动态地在页面中插入:


<script type="text/javascript" src="http://hq.sinajs.cn/list=sh601006" charset="gb2312">

</script>

<script type="text/javascript">

var elements=hq_str_sh601006.split(",");

document.write("current price:"+elements[3]);

</script>


这段代码输出大秦铁路(股票代码:601006)的当前股价

current price:14.20

如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:
http://hq.sinajs.cn/list=sh601003,sh601001

指数:
但如果你要查询大盘指数,情况会有不同,比如查询上证综合指数(000001),使用如下URL:
http://hq.sinajs.cn/list=s_sh000001 服务器返回的数据为:

var hq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";

数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);

查询深圳成指的URL为:
http://hq.sinajs.cn/list=s_sz399001

港股:
http://hq.sinajs.cn/list=hk00288

对于股票的K线图,日线图等的获取可以通过请求http://image.sinajs.cn/…./…/*.gif此URL获取,其中*代表股票代码,详见如下:

查看日K线图:

http://image.sinajs.cn/newchart/daily/n/sh601006.gif


分时线的查询:

http://image.sinajs.cn/newchart/min/n/sh000001.gif

日K线查询:

http://image.sinajs.cn/newchart/daily/n/sh000001.gif

周K线查询:

http://image.sinajs.cn/newchart/weekly/n/sh000001.gif

月K线查询:

http://image.sinajs.cn/newchart/monthly/n/sh000001.gif

客户要求在自己的网站上面显示股票相关数据,所以特此将此方法贴出来,方便大家。


<script type="text/javascript" src="http://hq.sinajs.cn/list=sz399001" charset="gb2312"></script>
<script type="text/javascript" src="http://hq.sinajs.cn/list=sh000001" charset="gb2312"></script>
<script type="text/javascript" src="http://hq.sinajs.cn/list=int_dji" charset="gb2312"></script>
<script type="text/javascript" src="http://hq.sinajs.cn/list=int_nasdaq" charset="gb2312"></script>
<script type="text/javascript" src="http://hq.sinajs.cn/list=int_hangseng" charset="gb2312"></script>
<script type="text/javascript" src="http://hq.sinajs.cn/list=int_nikkei" charset="gb2312"></script>
<script type="text/javascript" src="http://hq.sinajs.cn/list=b_TWSE" charset="gb2312"></script>
<script type="text/javascript" src="http://hq.sinajs.cn/list=b_FSSTI" charset="gb2312"></script>

<script type="text/javascript">

function SZ(n)
{
var hq_str=eval("hq_str_"+n);
var elements=hq_str.split(",");

var data1=(elements[3]*1).toFixed(2);
var data2=(elements[3]-elements[2]).toFixed(2);
var data3=(elements[3]-elements[2])*100/(elements[2]*1);
var colors=["red","green"];

return processDataArray(data1,data2,data3,colors);
}

function OTHER(n)
{
var hq_str=eval("hq_str_"+n);
var elements=hq_str.split(",");

var data1=elements[1];
var data2=elements[2];
var data3=elements[3];
var colors=["green","red"];

return processDataArray(data1,data2,data3,colors);
}

function processDataArray(data1,data2,data3,colors)
{
    data3
=isNaN(data3*1)?"--":(data3*1).toFixed(2);
    
if(data2*1>0)
    {data2
="+"+data2;
        data3
='<span class="'+colors[0]+'">+'+data3+"%</span>";
     }
    
if(data2*1<0)
    {
         data3
='<span class="'+colors[1]+'">'+data3+"%</span>";
     }
     
return[data1,data2,data3];
}

function displayData(result)
{
    document.write(
"<ul><li>收盘"+result[0]+"</li><li>涨幅"+result[1]+"</li><li>"+result[2]+"</li></ul>")
}
//displayData(SZ("sh000001")); //上证指数
//
displayData(SZ("sz399001"));  //深证成指
//
displayData(OTHER("int_dji"));//道琼斯
//
displayData(OTHER("int_nasdaq")); //纳斯达克
//
displayData(OTHER("int_hangseng")); //恒生
//
displayData(OTHER("int_nikkei")); 日经指数
//
displayData(OTHER("b_TWSE")); 台湾加权
displayData(OTHER("b_FSSTI")); //新加坡
</script>

___________________________________________________________________________

雅虎接口:

 

http://finance.cn.yahoo.com/q/o?s=^fchi
http://finance.yahoo.com/d/quotes.csv?s=%5EFCHI&f=sl1d1t1c1ohgv&e=.csv

http://finance.yahoo.com/q?s=%5Efchi
http://download.finance.yahoo.com/d/quotes.csv?s=%5EFCHI&f=sl1d1t1c1ohgv&e=.csv

http://table.finance.yahoo.com/table.csv?s=^FTSE
http://table.finance.yahoo.com/table.csv?s=^FTSE&d=4&e=1&f=2009&g=d&a=4&b=6&c=2009&ignore=.csv


一、格式一
http://in.finance.yahoo.com/d/quotes.csv?s=000001.SZ&f=sl1d1t1c1ohgvj1pp2owern&e=1.txt
示例:
"000001.SZ",14.99,"3/6/2009","11:00pm",-0.16,14.75, 15.35, 14.72, 45439592,N/A,15.15, "-1.06%",14.75, "8.00 - 31.30",0.00,N/A,"SDB"
"000002.SZ",8.08 ,"3/6/2009","11:00pm",+0.15,7.80 , 8.23 ,7.75  ,224880880,N/A,7.93 , "+1.89%",7.80 , "4.80 - 27.10",0.00,N/A,"VANKE-A"
股票名称    当前价 日期       时间    XX     今开盘 今最高 今最低 成交量   X   昨收盘 X        今开盘 X              X    X   X
注:无卖出价、成交额,且当前价=买入价。

二、格式二
http://in.finance.yahoo.com/d/quotes.csv?s=000001.SZ&f=sl1d1t1c1ohgv&e
http://in.finance.yahoo.com/d/quotes.csv?s=000002.SZ&f=sl1d1t1c1ohgv&e=.csv
http://download.finance.yahoo.com/d/quotes.csv?s=000001.SZ&f=sl1d1t1c1ohgv&e=.csv
示例:
"000001.SZ",14.99,"3/6/2009","2:00am",-0.16,14.75,  15.35, 14.72, 45439592
"000002.SZ",8.08 ,"3/6/2009","2:00am",+0.15,7.80 ,  8.23 , 7.75 , 224880880
股票名称    当前价 日期       时间    XX    今开盘  今最高 今最低 成交量
注:无昨收盘、卖出价、成交额,且当前价=买入价。

三、其它
http://in.finance.yahoo.com/q?s=000001.SZ

posted on 2009-06-26 09:12  chuncn  阅读(1912)  评论(0编辑  收藏  举报

导航