//hq.sinajs/list=sh601006"charset="gb2312">
varelements=hq_str_sh601006.split(",");
document.write("currentprice:
"+elements[3]);
这段代码输出大秦铁路(股票代码:
601006)的当前股价
currentprice:
14.20
如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:
http:
//hq.sinajs/list=sh601003,sh601001
查询大盘指数,比如查询上证综合指数(000001):
http:
//hq.sinajs/list=s_sh000001
服务器返回的数据为:
varhq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";
数据含义分别为:
指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);
查询深圳成指数:
http:
//hq.sinajs/list=s_sz399001
对于股票的K线图,日线图等的获取可以通过请求http:
//image.sinajs/…./…/*.gif此URL获取,其中*代表股票代码,详见如下:
查看日K线图:
http:
//image.sinajs/newchart/daily/n/sh601006.gif
分时线的查询:
http:
//image.sinajs/newchart/min/n/sh000001.gif
日K线查询:
http:
//image.sinajs/newchart/daily/n/sh000001.gif
周K线查询:
http:
//image.sinajs/newchart/weekly/n/sh000001.gif
月K线查询:
http:
//image.sinajs/newchart/monthly/n/sh000001.gif
1.2Baidu&Google的财经数据
在baidu,google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,
第一条搜索结果如下图:
通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。
后经抓包分析,发现google也是采用1.1中介绍的接口。
Baidu的股票数据来自baidu的财经频道
http:
//stock.baidu/
1.3其他方式
除了sina,baidu等网站提供股票信息外,其他网站也有类似的接口。
我们分析了一款论坛上采用的股票插件,
其中有关于实时股票数据获取的介绍,详见如下代码,其中可以看到有些数据来自sina。
以下是ASP示例:
<%
‘==========================
‘file:
stock_getdata.asp
‘version:
1.0.0
‘copyright(c)czieallrightsreserved.
‘web:
http:
//czie
‘==========================
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("http:
//hq.sinajs/list=sz"&code&"")
ifnotlen(stockdata)=0thenstockdata=split(stockdata,chr(34))
(1)
endif
ifint(checkcode)>=5then
stockdata=gethttp("http:
//hq.sinajs/list=sh"&code&"")
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="http:
//10jqka/curve/kline/?
code="&code&""
imgsource="http:
//10jqka"
case1
getstockimg="http:
//stock.jrj/htmdata/KLINE/"&code&".png"
imgsource="http:
//stock.jrj"
case2
checkcode=mid(code,len(code)-5,1)
ifint(checkcode)<=4then
getstockimg="http:
//image.sinajs/newchart/daily/n/sz"&code&".gif"
endif
ifint(checkcode)>=5then
getstockimg="http:
//image.sinajs/newchart/daily/n/sh"&code&".gif"
endif
imgsource="http:
//finance.sina"
case3
getstockimg="http:
//hq.gazxfe/stockchart/realline.chart?
"&code&"&1003&SZ500330"
imgsource="http:
//hq.gazxfe"
case4
getstockimg="http:
//chartse.stockstar/chartserver?
code="&code&""
imgsource="http:
//stockstar/"
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="http:
//stockstar/"
case1
getastockimg="http:
//money.163/special/100.gif?
C39"
getastockimgb="http:
//money.163/special/101.gif?
HrS"
imgsource="http:
//163"
case2
getastockimg="http:
//10jqka/curve/realtime/index2.php?
code=1a0001&w=180&h=140"
getastockimgb="http:
//10jqka/curve/realtime/index2.php?
code=399001&w=180&h=140"
imgsource="http:
//10jqka"
case3
getastockimg="http:
//chartlist/stockchart/realline.chart?
1a0001&1002&SZ180140"
getastockimgb="http:
//chartlist/stockchart/realline.chart?
399001&1002&SZ180140"
imgsource="http:
//chartlist/"
case4
getastockimg="http:
//image.sinajs/newchart/small/ish000001.gif?
1189176558328"
getastockimgb="http:
//image.sinajs/newchart/small/isz399001.gif?
1189176558328"
imgsource="http:
//sinajs"
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="http:
//cnstock/"
case6
getastockimg="http:
//222.73.29.85/img/000001.png"
getastockimgb="http:
//222.73.29.85/img/399001.png"
imgsource="http:
//eastmoney/"
endselect
getastockimg=split(""&getastockimg&"||"&getastockimgb&"||"&imgsource&"","||")
endfunction
%>
2.web-service接口
2.1CHINAstock的web-service:
http:
//webxml/WebServices/ChinaStockWebService.asmx
中国股票行情数据WEB服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。
输出GIF分时走势图、日/周/月K线图、及时行情数据(股票名称、行情时间、最新价、昨收盘、今开盘、涨跌额、最低、最高、涨跌幅、成交量、成交额、竞买价、竞卖价、委比、买一-买五、卖一-卖五)。
此WEB服务提供了如下几个接口:
2.1.1getStockImageByCode
GET股票GIF分时走势图
INput:
theStockCode=股票代号,如:
sh000001
POST/WebServices/ChinaStockWebService.asmxHTTP/1.1
Host:
webxml
Content-Type:
text/xml;charset=utf-8
Content-Length:
length
SOAPAction:
"http:
//WebXml/getStockImageByCode"
xmlversion="1.0"encoding="utf-8"?
>
Envelopexmlns:
xsi="http:
//w3.org/2001/XMLSchema-instance"xmlns:
xsd="http:
//w3.org/2001/XMLSchema"xmlns:
soap="http:
//schemas.xmlsoap.org/soap/envelope/">
Body>
//WebXml/">