实时股票数据接口大全.docx
《实时股票数据接口大全.docx》由会员分享,可在线阅读,更多相关《实时股票数据接口大全.docx(10页珍藏版)》请在冰豆网上搜索。
实时股票数据接口大全
本文来源于:
从此学习网原文:
实时股票数据接口大全
股票数据的获取目前有如下两种方法可以获取:
1.http/javascript接口取数据
2.web-service接口
1.http/javascript接口取数据
1.1Sina股票数据接口
以大秦铁路(股票代码:
601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据
接口:
这个url会返回一串文本,例如:
varhq_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应用例子:
varelements=hq_str_sh601006.split(",");
document.write("currentprice:
"+elements[3]);
这段代码输出大秦铁路(股票代码:
601006)的当前股价
currentprice:
14.20
如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,_3601;这样使用URL:
查询大盘指数,比如查询上证综合指数(000001):
服务器返回的数据为:
varhq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";
数据含义分别为:
指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);
查询深圳成指数:
对于股票的K线图,日线图等的获取可以通过请求
查看日K线图:
分时线的查询:
日K线查询:
周K线查询:
月K线查询:
1.2Baidu&Google的财经数据
在baidu,google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,
第一条搜索结果如下图:
通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。
后经抓包分析,发现google也是采用1.1中介绍的接口。
Baidu的股票数据来自baidu的财经频道
1.3其他方式
除了sina,baidu等网站提供股票信息外,其他网站也有类似的接口。
我们分析了一款论坛上采用的股票插件,
其中有关于实时股票数据获取的介绍,详见如下代码,其中可以看到有些数据来自sina。
以下是ASP示例:
<%
‘==========================
‘file:
stock_getdata.asp
‘version:
1.0.0
‘copyright(c)allrightsreserved.
‘web:
‘==========================
functiongethttp(rurl)
dimxml
onerrorresumenext
setxml=server.createobject("Microsoft.XMLHTTP")
xml.open"get",rurl,false
xml.send
ifnotxml.readystate=4ornotxml.status=200orerrthengethttp="":
exitfunction
gethttp=xml.responsetext
setxml=nothing
endfunction
functiongetstockdata(code)
‘0=股票名称,1=开盘价格,2=昨收盘价格,3=当前价格,4=最高价,5=最低价,30,31=更新时间
dimcheckcode,stockdata,stockdatasplit
iflen(code)<5thenstockdata="0,0,0,0,0,0,0,0,0,0,0,0":
exitfunction
checkcode=mid(code,len(code)-5,1)
ifint(checkcode)<=4then
stockdata=gethttp("
ifnotlen(stockdata)=0thenstockdata=split(stockdata,chr(34))
(1)
endif
ifint(checkcode)>=5then
stockdata=gethttp("
ifnotlen(stockdata)=0thenstockdata=split(stockdata,chr(34))
(1)
endif
iflen(stockdata)=0then
stockdata="0,0,0,0,0,0,0,0,0,0,0,0"
else
stockdatasplit=split(stockdata,",")stockdata=""&exstock.checkstr(stockdatasplit(0))&","&stockdatasplit
(1)&","&stockdatasplit
(2)&","&stockdatasplit(3)&","&stockdatasplit(4)&","&stockdatasplit(5)&","&formatdatetime(""&stockdatasplit(30)&""&stockdatasplit(31)&"",0)&""
endif
‘0=股票名称,1=开盘价格,2=昨收盘价格,3=当前价格,4=最高价,5=最低价,6=更新时间
getstockdata=stockdata
endfunction
functiongetstockimg(code)
dimrndnum,addnum,checkcode,imgsource
iflen(code)<5thenexitfunction
addnum=4
randomize:
rndnum=cint(rnd*addnum)
selectcaserndnum
case0
getstockimg="
imgsource=""
case1
getstockimg="
imgsource=""
case2
checkcode=mid(code,len(code)-5,1)
ifint(checkcode)<=4then
getstockimg="
endif
ifint(checkcode)>=5then
getstockimg="
endif
imgsource=""
case3
getstockimg="500330"
imgsource=""
case4
getstockimg="
imgsource="
endselect
getstockimg=split(""&getstockimg&"||"&imgsource&"","||")
endfunction
functiongetastockimg()
dimrndnum,addnum,checkcode
dimgetastockimgb,imgsource
addnum=6
randomize:
rndnum=cint(rnd*addnum)
selectcaserndnum
case0
getastockimg="http:
//202.109.106.1/gifchartse/gif/000001.gif"
getastockimgb="http:
//202.109.106.1/gifchartse/gif/399001.gif"
imgsource="
case1
getastockimg="
getastockimgb="
imgsource=""
case2
getastockimg="
getastockimgb="
imgsource=""
case3
getastockimg="180140"
getastockimgb="180140"
imgsource="
case4
getastockimg="
getastockimgb="
imgsource=""
case5
getastockimg="http:
//218.1.72.66/cgi/pic/sh/realtime/JA000001164143.png"
getastockimgb="http:
//218.1.72.66/cgi/pic/sz/realtime/JA399001164143.png"
imgsource="
case6
getastockimg="http:
//222.73.29.85/img/000001.png"
getastockimgb="http:
//222.73.29.85/img/399001.png"
imgsource="
endselect
getastockimg=split(""&getastockimg&"||"&getastockimgb&"||"&imgsource&"","||")
endfunction
%>
2.web-service接口
2.1CHINAstock的web-service:
中国股票行情数据WEB服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。
输出GIF分时走势图、日/周/月K线图、及时行情数据(股票名称、行情时间、最新价、昨收盘、今开盘、涨跌额、最低、最高、涨跌幅、成交量、成交额、竞买价、竞卖价、委比、买一-买五、卖一-卖五)。
此WEB服务提供了如下几个接口:
2.1.1getStockImageByCode
GET股票GIF分时走势图
INput:
theStockCode=股票代号,如:
sh000001
POST/WebServices/ChinaStockWebService.asmxHTTP/1.1
Host:
Content-Type:
text/xml;charset=utf-8
Content-Length:
length
SOAPAction:
"http:
//WebX
xmlversion="1.0"encoding="utf-8"?
>
Envelopexmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
xsd="http:
//www.w3.org/2001/XMLSchema"xmlns:
soap="http:
//schemas.xmlsoap.org/soap/envelope/">
Body>
//WebX
string
Body>
Envelope>
Output:
2.1.2getStockImageByteByCode
获得中国股票GIF分时走势图字节数组
INput:
theStockCode=股票代号,如:
sh000001
POST/WebServices/ChinaStockWebService.asmxHTTP/1.1Host:
Content-Type:
text/xml;charset=utf-8Content-Length:
lengthSOAPAction:
"http:
//WebX
xmlversion="1.0"encoding="utf-8"?
>Envelopexmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
xsd="http:
//www.w3.org/2001/XMLSchema"xmlns:
soap="http:
//schemas.xmlsoap.org/soap/envelope/">Body>//WebXstring
Body>
Envelope>
返回的数据如下:
R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A
2.1.3getStockImage_kByCode
直接获得中国股票GIF日/周/月K线图(545*300pixel/72dpi)
INPUT:
theStockCode=股票代号
theType=K线图类型(D:
日[默认]、W:
周、M:
月),
POST/WebServices/ChinaStockWebService.asmxHTTP/1.1Host:
Content-Type:
text/xml;charset=utf-8Content-Length:
lengthSOAPAction:
"http:
//WebX
xmlversion="1.0"encoding="utf-8"?
>Envelopexmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
xsd="http:
//www.w3.org/2001/XMLSchema"xmlns:
soap="http:
//schemas.xmlsoap.org/soap/envelope/">Body>//WebXstringstring
Body>
Envelope>
比如按照下图所示输入:
返回的结果就是周K线图:
2.1.4getStockImage_kByteByCode
获得中国股票GIF日/周/月K线图字节数组
Input:
theStockCode=股票代号,如:
sh000001
POST/WebServices/ChinaStockWebService.asmxHTTP/1.1Host:
Content-Type:
text/xml;charset=utf-8Content-Length:
lengthSOAPAction:
"http:
//WebX
xmlversion="1.0"encoding="utf-8"?
>Envelopexmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
xsd="http:
//www.w3.org/2001/XMLSchema"xmlns:
soap="http:
//schemas.xmlsoap.org/soap/envelope/">Body>//WebXstringstring