股票數據的獲取方法(轉載)

最近想自己寫一個股票監控軟件,但公司對這類軟件有限制,所以自己寫了個,繞開了公司的網關!用到了下面的數據獲取方法,以作記錄!

股票數據獲取目前有如下兩種方法可以獲取:

1.http/javascript接口取數據
2.web-service接口


1.http/javascript接口取數據

1.1Sina股票數據接口
以大秦鐵路(股票代碼: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

對於股票的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

 

1.2              Baidu Google的財經數據
在baidu ,google中搜索某隻股票代碼時,將會在頭條顯示此股票的相關信息,例如在google搜索601006時,
第一條搜索結果如下圖:


通過點擊左邊的圖片我們發現會將此圖片鏈接到sina財經頻道上,也就是說google股票數據獲取也是從sina獲取。後經抓包分析,
發現google也是採用1.1中介紹的接口。

Baidu的股票數據來自baidu的財經頻道http://stock.baidu.com .

 

2.   web-service接口

詳見:http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx


利用雅虎查中國股票

http://quote.yahoo.com/d/quotes.csv?s=MSFT&f=slc1wop
返回微軟的股票價格

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章