zoukankan      html  css  js  c++  java
  • 获取实时股票数据

    股票数据的获取目前有如下两种方法可以获取:

    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

     

    2.   web-service接口

    2.1  CHINAstock的web-service:
    http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx

    中国股票行情数据 WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。输出GIF分时走势图、日/周/月 K 线图、及时行情数据(股票名称、行情时间、最新价、昨收盘、今开盘、涨跌额、最低、最高、涨跌幅、成交量、成交额、竞买价、竞卖价、委比、买一 - 买五、卖一 - 卖五)。此WEB服务提供了如下几个接口:

    2.1.1  getStockImageByCode
    GET 股票GIF分时走势图

    INput:theStockCode = 股票代号,如:sh000001

    POST /WebServices/ChinaStockWebService.asmx HTTP/1.1

    Host: www.webxml.com.cn

    Content-Type: text/xml; charset=utf-8

    Content-Length: length

    SOAPAction: http://WebXml.com.cn/getStockImageByCode

    <?xml version="1.0" encoding="utf-8"?>

    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

      <soap:Body>

        <getStockImageByCode xmlns="http://WebXml.com.cn/">

          <theStockCode>string</theStockCode>

        </getStockImageByCode>

      </soap:Body>

    </soap:Envelope>

    Output:


    2.1.2 getStockImageByteByCode
    获得中国股票GIF分时走势图字节数组

    INput:theStockCode = 股票代号,如:sh000001

    POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host: www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: "http://WebXml.com.cn/getStockImageByteByCode" <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  <soap:Body>    <getStockImageByteByCode xmlns="http://WebXml.com.cn/">      <theStockCode>string</theStockCode>    </getStockImageByteByCode>  </soap:Body></soap:Envelope>

    返回的数据如下:

    <?xml version="1.0" encoding="utf-8" ?>

      <base64Binary xmlns="http://WebXml.com.cn/">R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A

    2.1.3  getStockImage_kByCode
    直接获得中国股票GIF日/周/月 K 线图(545*300pixel/72dpi)
    INPUT: theStockCode = 股票代号

          theType = K 线图类型(D:日[默认]、W:周、M:月),

    POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host: www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByCode" <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  <soap:Body>    <getStockImage_kByCode xmlns="http://WebXml.com.cn/">      <theStockCode>string</theStockCode>      <theType>string</theType>    </getStockImage_kByCode>  </soap:Body></soap:Envelope>

    比如按照下图所示输入:


    返回的结果就是周K线图:


    2.1.4  getStockImage_kByteByCode
    获得中国股票GIF日/周/月 K 线图字节数组

    Input:theStockCode = 股票代号,如:sh000001

    POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host: www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByteByCode" <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  <soap:Body>    <getStockImage_kByteByCode xmlns="http://WebXml.com.cn/">      <theStockCode>string</theStockCode>      <theType>string</theType>    </getStockImage_kByteByCode>  </soap:Body></soap:Envelope>HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  <soap:Body>    <getStockImage_kByteByCodeResponse xmlns="http://WebXml.com.cn/">      <getStockImage_kByteByCodeResult>base64Binary</getStockImage_kByteByCodeResult>    </getStockImage_kByteByCodeResponse>  </soap:Body></soap:Envelope>比如按照下图输入

    返回的结果就是周K线图字节数组

    <?xml version="1.0" encoding="utf-8" ?>

      <base64Binary xmlns="http://WebXml.com.cn/">R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A

     

    2.1.5  getStockInfoByCode
    获得中国股票及时行情
    input:theStockCode = 股票代号

    POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host: www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: "http://WebXml.com.cn/getStockInfoByCode" <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  <soap:Body>    <getStockInfoByCode xmlns="http://WebXml.com.cn/">      <theStockCode>string</theStockCode>    </getStockInfoByCode>  </soap:Body></soap:Envelope>返回的值一个一维字符串数组 String(24),结构为:String(0)股票代号、String(1)股票名称、String(2)行情时间、String(3)最新价(元)、String(4)昨收盘(元)、String(5)今开盘(元)、String(6)涨跌额(元)、String(7)最低(元)、 String(8)最高(元)、String(9)涨跌幅(%)、String(10)成交量(手)、String(11)成交额(万元)、String (12)竞买价(元)、String(13)竞卖价(元)、String(14)委比(%)、String(15)-String(19)买一 - 买五(元)/手、String(20)-String(24)卖一 - 卖五(元)/手。

     

    Web service的方法类似于现在concurrent项目的DBWS数据的获取,都是通过SOAP协议向DBWS服务器获取相关的数据。

     


    利用雅虎查中国股票

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

    "MSFT","4:00pm - <b>30.70</b>",+1.04,"21.46 - 30.75",29.77,29.66
    http://quote.yahoo.com/d/quotes.csv?s=000969.SZ&f=slc1wop
    这个返回安泰科技的,一般有半个小时的延迟。

    但是s=000969.sz 这个后面的sz是什么意思呢?
    深圳:)
    沪市是SS后缀

  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/scgw/p/1742896.html
Copyright © 2011-2022 走看看