通过新浪网股票接口获取股票信息

合集下载

读取sinajs价格的方法

读取sinajs价格的方法

读取sinajs价格的方法Andy's BlogBlog»技术»实时股票数据接口大全实时股票数据接口大全时间:2009-05-30 15:16:58 类别:技术访问:41,581 views RSS 2.0评论实时股票数据接口大全股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据2. web-service接口1.http/javascript接口取数据1.1Sina股票数据接口以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据接口:/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="/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:/list=sh601003,sh601001查询大盘指数,比如查询上证综合指数(000001):/list=s_sh000001服务器返回的数据为:var hq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);查询深圳成指数:/list=s_sz399001对于股票的K线图,日线图等的获取可以通过请求/…./…/*.gif此URL获取,其中*代表股票代码,详见如下:查看日K线图:/newchart/daily/n/sh601006.gif分时线的查询:/newchart/min/n/sh000001.gif日K线查询:/newchart/daily/n/sh000001.gif周K线查询:/newchart/weekly/n/sh000001.gif月K线查询:/newchart/monthly/n/sh000001.gif1.2 Baidu&Google的财经数据在baidu, google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,第一条搜索结果如下图:通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。

股票实时数据接口

股票实时数据接口
[56]
[36] 成交量(手)
[37] 成交额(万)
[38] 换手率
[39] 市盈率
[40]
[41] 最高
[42] 最低
[43] 振幅
[44] 流通市值
[45] 总市值
[46] 市净率
[47] 涨停价
[48] 跌停价
[49] 量比
[50]
[51] 均价
[52] 市盈率(动)
[53] 市盈率(静)
[54]
[55]
说明
对双引号内的字符串按“~”进行分割,数据项依次为:
[0] 证券所代码
[1] 股票简称
[2] 股代码
[3] 当前价格
[4] 昨收
[5] 今开
[6] 成交量(手)
[7] 外盘
[8] 内盘
[9] 买一
[10] 买一量(手)
[11] 买二
[12] 买二量
[13] 买三
[14] 买三量
[15] 买四
[16] 买四量
股票实时数据接口
请求
举例
/q=sh600660
说明
sh600600是股票代码,将其更换为其他股票代码即可。上证股票代码前加“sh”,深圳股票代码前加“sz”。
响应
举例
v_sh600660="1~福耀玻璃~600660~18.81~18.92~18.92~86578~39928~46619~18.81~3083~18.80~4095~18.79~505~18.78~858~18.77~437~18.82~280~18.83~271~18.84~97~18.85~214~18.86~224~15:00:04/18.81/1473/S/2770713/26114|14:57:02/18.82/9/B/16581/25808|14:56:57/18.81/2/S/3762/25802|14:56:55/18.82/28/B/52696/25800|14:56:52/18.81/35/S/65847/25794|14:56:48/18.81/86/S/161836/25789~20200422153002~-0.11~-0.58~18.92~18.71~18.82/85105/159982368~86578~16275~0.43~14.72~~18.92~18.71~1.11~376.76~471.87~2.26~20.81~17.03~0.58~7892~18.80~15.08~11.45~~~1.06~16275.3081~0.0000~0~ ~GP-A~-21.59~~3.99~15.34~7.97";

Matlab通过Yahoo与Sina获取历史与实时股票数据

Matlab通过Yahoo与Sina获取历史与实时股票数据

Matlab通过Yahoo与Sina获取历史与实时股票数据【转至arisZheng:】最近需要进行Matlab培训,与金融从业人员相比,很多学生或非金融行业的人员没有Wind等其他数据源。

为学习或了解Matlab 的金融数量分析,不仅需要学习Matlab语法,更重要的是需要根据实际数据进行实践,为此自己花些时间整理一下Matlab通过Yahoo 与Sina获取历史与实时股票数据的代码与案例。

说明:•历史数据通过Yahoo接口获得(历史数据为未复权数据,使用时候请注意)•实时数据通过Sina的接口获得•Yahoo中证券代码为(上海 .ss 深圳 .sz),例如招商银行,600036.ss[DateV,PriceV]=YahooData('600005.ss', '01/01/2005', '12/31/2008', 'd')•Sina中证券代码为(sh. 上海 sz.深圳),例如招商银行sh600036 StockCode='sh600036';[Name,OpenPrice,ClosePrice,TPrice]=SinaData(StockCode)1.通过yahoo提去股票历史数据(测试函数)%提取数据武钢股份(上海交易所)[DateV,PriceV]=YahooData('600005.ss', '01/01/2005', '12/31/2008', 'd')%将A数据A的格式[价格、日期] 采用的matlab编码形式,以整数编码%将A数据转变为时间序列%画图plot(DateV,PriceV);2.通过yahoo提取股票历史数据(代码函数)function [DateV,PriceV]=YahooData(StockName, StartDate, EndDate, Freq)% 输入参数% StockName 证券代码(上海 .ss 深圳 .sz)% StartDate, EndDate 时间段的开始日与结束日% Freq 频率% This engine is used for a rapid searching in Yahoo!Finance for retriving% Financial Data.%%%数据时间区间startdate=StartDate;enddate=EndDate;%字符串变化ms=num2str(str2num(datestr(startdate, 'mm'))-1);ds=datestr(startdate, 'dd');ys=datestr(startdate, 'yyyy');me=num2str(str2num(datestr(enddate, 'mm'))-1);de=datestr(enddate, 'dd');ye=datestr(enddate, 'yyyy');url2Read=sprintf('/table.csv? s=%s&amp;a=%s&amp;b=%s&amp;c=%s&amp;d=%s&amp;e =%s&amp;f=%s&amp;g=%s&amp;ignore=.csv', StockName, ms, ds, ys, me, de, ye, Freq);s=urlread(url2Read);[Date Open High Low Close Volume AdjClose]=strread (s, '%s %s %s %s %s %s %s', 'delimiter', ',');Date(1)=[];AdjClose(1)=[];row=size(Date, 1);for i = 1:rowDate_temp(i, 1)=datenum(cell2mat(Date(i)), 'yyyy-mm-dd');AdjClose_temp(i, 1)=str2num(cell2mat(AdjClose(i)));endDateV=Date_temp;PriceV=AdjClose_temp;%存储M文件% root=[pwd, '\'];% filename=[root, StockName, '.mat'];% save(filename, 'stock_Price') ;3.通过Sina提取实时股票数据(测试函数)%提取数据招商银行(上海交易所)StockCode='sh600036';4.通过Sina提取实时股票数据(代码函数)function[Name,OpenPrice,ClosePrice,TPrice]=SinaData(StockCode) % 输入参数% StockCode 证券代码(上海sh+code 深圳 sz+code)%% This engine is used for a rapid searching in Sina !Finance for retriving% Financial Data.%StockName='sh601006';url2Read=['/list=',StockCode];s=urlread(url2Read);result=strread(s,'%s','delimiter', ',');Name=cell2mat(result(1));%名称Name=Name(22:end);OpenPrice=str2num(cell2mat(result(2)));% 今日开盘价;PreClosePrice=str2num(cell2mat(result(3)));% 昨日收盘价;TPrice=str2num(cell2mat(result(4)));% 当前价格;。

一款大学生生活助手软件的设计

一款大学生生活助手软件的设计

一款大学生生活助手软件的设计作者:薛盛俊杨晟杰王麟阁来源:《科学导报·学术》2017年第05期摘要:为了使大学生更好更方便地安排自己的学习和生活,利用手机的方便携带管理和实用性设计了一款大学生生活助手软件,通过该软件能够对大学生的高校生活提供良好的帮助,使大学生更好的规划时间、安排学习和工作,同时加入理财功能,使学生更好的进行财务规划。

关键词:安卓平台;手机助手;移动开发【中图分类号】 TN929.53 【文献标识码】A 【文章编号】2236-1879(2017)05-0055-01手机的快速普及,使其强大的功能开始为人们所喜爱,人们的生活变得与手机联系的更加紧密了,手机已经逐渐成为大学生日常生活中不可或缺的一部分,为了让大学生更好更方便地安排自己的学习和生活,利用手机的方便携带管理和实用性设计了一款大学生生活助手软件让大学生通过使用本软件可以辅助自己的大学生活,规划和安排时间。

1 系统的主要功能本系统主要为用户提供基本的理财需求和,包括数据插入,数据查询,数据删除等功能,用户可以通过系统对数据进行相应的操作。

还有一些简单的网络查询功能,可以输入城市名查询天气情况,输入股票代码查询股票的基本信息和中英文的互译等,具体功能如图1所示:2 收入支出查询模块收入支出查询模块主要负责对个人数据库信息的查询操作。

因为数据库信息属于后台运行,用户需要一个可视化的界面来完成对后台数据库的信息操作,根据用户选择的不同查询条件,根据不同时间周期,不同的资金来源类别完成数据统计查询,然后将结果显示到单独的窗口界面中便于用户查看,简洁明了的操作有助于用户使用。

收入支出查询模块时序图如图2所示。

3 天气查询模块天气查询模块是通过天气网站的接口进行查询的。

输入城市的名称就可以查询当日的天气情况。

通过新浪api接口获取天气信息。

接口url为http://:88。

通过参数city,password,day来规定需要获取的城市及日期。

如何快速了解股票市场的最新动态

如何快速了解股票市场的最新动态

如何快速了解股票市场的最新动态快速了解股票市场的最新动态是每位投资者都应该具备的一项能力。

掌握市场动态可以帮助投资者及时做出决策,提高投资效益。

本文将从以下几个方面为您介绍如何快速了解股票市场的最新动态。

一、利用财经媒体财经媒体是了解股票市场动态的重要渠道之一。

通过观看财经电视节目、阅读财经报纸和杂志,可以获得关于股票市场的最新信息和实时数据。

这些媒体经常邀请金融专家解读市场走势,提供投资者参考。

投资者可以关注权威的财经媒体,如《财经杂志》、《证券时报》等,以获取更加准确和权威的信息。

二、关注股票交易所官网股票交易所官网是获取最新股票市场动态的重要途径。

各个股票交易所官网会发布股票市场的实时行情、公司公告、交易数据等相关信息。

投资者可以通过关注股票交易所官网,及时了解市场走势和交易动态。

三、使用证券公司的研究报告证券公司的研究报告是了解股票市场动态的重要参考依据。

证券公司的专业分析师会根据市场情况发布研究报告,分析不同行业、公司的发展趋势和投资机会。

投资者可以通过订阅证券公司的研究报告或浏览其网站,获取专业的投资建议和最新市场动态。

四、关注财经网站和社交媒体平台财经网站和社交媒体平台是获取股票市场动态的便捷途径。

投资者可以关注知名财经网站,如新浪财经、东方财富等,浏览其发布的新闻和市场资讯。

此外,社交媒体平台上也有许多专业的股票投资者或机构发布市场分析和观点,投资者可以通过关注这些媒体账号,获取不同角度的市场动态分析。

五、参加投资者教育活动投资者教育活动是深入了解股票市场动态和提高投资技能的途径。

各大证券公司和金融机构经常组织投资者教育活动,包括研讨会、培训课程等。

通过参加这些活动,投资者可以与专业人士交流,学习市场分析方法和投资技巧,进一步提高了解市场的能力。

六、使用财经手机应用程序财经手机应用程序是了解股票市场动态的便捷方式。

市面上有许多财经类手机应用程序,提供实时行情、个股分析、新闻资讯等功能。

新浪接口API调用

新浪接口API调用

新浪接口API调用新浪API2.0调用痕迹最近本人研究怎么调用新浪的接口。

一开始由于感觉时间的仓促就从网上找了个实例。

哪知道在模拟授权成功了以后进行接口的调用的时候才知道知道。

人家验证是OAuth1.0认证。

而现在新浪接口是1.0的。

老是调用的时候报Http403 五位码表示access_token无效。

这样一来我都弄疯了,连续折腾了3天,我都太折腾疯了。

总结一句话哥太心急了。

搞了半天就是找错。

问人。

折腾了半天。

没有啥人能帮上忙。

所以我就下定决心研究别人代码。

通过我晚上苦苦的研究终于弄清楚了点思路了。

第二天早上一起来灵感移动。

其实真的他妈那么简单啊。

下面我就给大家介绍我的实现思路。

当然我也借助了别人写的SDK.加以我的改变生产了dll文件。

提供后续开发这学习。

我提供下载地址。

希望能给苦命的程序员又所帮助。

尤其是像我这样的菜鸟。

老鸟当然不需要这些的。

废话都不说了。

下面就介绍下实现思路吧。

1首先我介绍下OAuth授权的内部原理:A:客户端从服务器端获取一个没有经过授权的tonken(一个32位的字符串)B:用户从客户端获取一个验证编号。

C:客户端向服务器端获取一个成功的授权编号现在也不说这些内部原理了:直接阐述代码吧。

const long clientID = 1253617897;//申|¨o请?的ì?app_key//获取程序keyconst string responseType = "authorization_code";//这个值好像可以起好多的。

集体是代表什么我还是希望别人多多参考新浪APIconst string redirectUri = "http://localhost:1978/sina/URLredirection.aspx";//回?调ì??地ì?址?¤这个回调地址是设置在新浪申请的应该平台里面的。

Python获取股票历史、实时数据与更新到数据库

Python获取股票历史、实时数据与更新到数据库

Python获取股票历史、实时数据与更新到数据库要做量化投资,数据是基础,正所谓“巧妇难为⽆⽶之炊”在免费数据⽅⾯,各⼤⽹站的财经板块其实已提供相应的api,如新浪、雅虎、搜狐。

可以通过urlopen相应格式的⽹址获取数据⽽TuShare正是这么⼀个免费、开源的python财经数据接⼝包,已将各类数据整理为dataframe类型供我们使⽤。

主要⽤到的函数:1.实时⾏情获取tushare.get_today_all()⼀次性获取当前交易所有股票的⾏情数据(如果是节假⽇,即为上⼀交易⽇,结果显⽰速度取决于⽹速)2.历史数据获取tushare.get_hist_data(code, start, end,ktype, retry_count,pause)参数说明:code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中⼩板 cyb=创业板)start:开始⽇期,格式YYYY-MM-DDend:结束⽇期,格式YYYY-MM-DDktype:数据类型,D=⽇k线 W=周 M=⽉ 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为Dretry_count:当⽹络异常后重试次数,默认为3pause:重试时停顿秒数,默认为0⽽如果要进⾏完备详细的回测,每次在线获取数据⽆疑效率偏低,因此还需要⼊库下⾯是数据库设计部分表1:stocks股票表,第⼀列为股票代码,第⼆列为名称,如果get_today_all()中存在的股票stocks表中没有,则插⼊之。

表2:hdata_date⽇线表,由于分钟线只能获取⼀周内的数据,我们先对⽇线进⾏研究。

字段和get_hist_data返回值基本⼀致,多了stock_code列,并将record_date列本来是dataframe的indexstock_code,record_date, //主键open,high,close,low, //开盘,最⾼,收盘,最低volume, //成交量price_change,p_change, //价差,涨幅ma5,ma10,ma20 //k⽇收盘均价v_ma5,v_ma10,v_ma20, //(k⽇volume均值)turnover //换⼿率python⼯程⽬前有3个⽂件,main.py(主程序),Stocks.py(“股票们”类)以及Hdata.py(历史数据类)main.pyimport psycopg2 #使⽤的是PostgreSQL数据库import tushare as tsfrom Stocks import*from HData import*import datetimestocks=Stocks("postgres","123456")hdata=HData("postgres","123456")# stocks.db_stocks_create()#如果还没有表则需要创建#print(stocks.db_stocks_update())#根据todayall的情况更新stocks表#hdata.db_hdata_date_create()nowdate=datetime.datetime.now().date()codestock_local=stocks.get_codestock_local()hdata.db_connect()#由于每次连接数据库都要耗时0.0⼏秒,故获取历史数据时统⼀连接for i in range(0,len(codestock_local)):nowcode=codestock_local[i][0]#print(hdata.get_all_hdata_of_stock(nowcode))print(i,nowcode,codestock_local[i][1])maxdate=hdata.db_get_maxdate_of_stock(nowcode)print(maxdate, nowdate)if(maxdate):if(maxdate>=nowdate):#maxdate⼩的时候说明还有最新的数据没放进去continuehist_data=ts.get_hist_data(nowcode, str(maxdate+datetime.timedelta(1)),str(nowdate), 'D', 3, 0.001)hdata.insert_perstock_hdatadate(nowcode, hist_data)else:#说明从未获取过这只股票的历史数据hist_data = ts.get_hist_data(nowcode, None, str(nowdate), 'D', 3, 0.001)hdata.insert_perstock_hdatadate(nowcode, hist_data)hdata.db_disconnect()Stocks.pyimport tushare as tsimport psycopg2class Stocks(object):#这个类表⽰"股票们"的整体(不是单元)def get_today_all(self):self.todayall=ts.get_today_all()def get_codestock_local(self):#从本地获取所有股票代号和名称conn = psycopg2.connect(database="wzj_quant", user=er, password=self.password, host="127.0.0.1",port="5432")cur = conn.cursor()# 创建stocks表cur.execute('''select * from stocks;''')rows =cur.fetchall()mit()conn.close()return rowspassdef__init__(self,user,password):# self.aaa = aaaself.todayall=[]er=userself.password=passworddef db_perstock_insertsql(self,stock_code,cns_name):#返回的是插⼊语句sql_temp="insert into stocks values("sql_temp+="\'"+stock_code+"\'"+","+"\'"+cns_name+"\'"sql_temp +=");"return sql_temppassdef db_stocks_update(self):# 根据gettodayall的情况插⼊原表中没的。

高级Java之抓取股票数据实验操作文档

高级Java之抓取股票数据实验操作文档

Java高级应用技术——抓取数据一.问题描述1.通过httpparser从Sina抓取上证和深证所有股票从上市日以来的日线股价数据和日交易现金流数据,还有最近一个月每天交易的5/15/30/60分钟线股价数据。

2.通过httpparser从巨潮资讯网下载上证和深证所有股票从上市日以来的年报数据。

二.程序设计与分析第一部分:抓取Sina数据1.导入项目打开Eclipse,File>>Import>>General>>Existing Projects into Workspace,选择程序放置地方,点击OK。

2.首先,明确抓取股价的方式。

直接使用Sina的json接口获取某个股票在某天的股价数据。

由于新浪财经采用同样的接口,所以获取数据的速度会比较快,同时数据访问的限制也不存在。

3.获取当前所有的股票代码。

从学校图书馆的国泰安金融数据库下载包含所有股票代码的excel表格,用data.xls表示。

4.从data.xls读取symbol股票代码。

采用apache的POI包对excel表格进行读取。

读取的操作封装在ReadXls.java中。

5.模拟url访问网页的方式获取返回的股票数据,具体的代码在PostConnection.java当中,关键流程的伪代码如下所示:通过连接请求数据public String doPost(String urlStr) {try {根据url获取连接设置请求参数连接获取返回的数据流对返回的数据流转换成String数据类型并返回最后关闭所有连接}}6.获取了返回的数据流后,对其进行分析。

从KLineCatcher.java看出,只需要用JSON.parseArray(result, KLine.class)就能把字符串转换成Kline类的List。

7.获取了List<Kline>后,把数据存入数据库当中。

数据库保存的方法写在了KLineDao.java当中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通过新浪网股票接口获取股票信息以下函数全是静态方法,可以在C#中直接调用using System;using System.Collections.Generic;using System.Linq;using System.Text;using ;using System.IO;using System.Data;using System.Text.RegularExpressions;namespace GzyFunctionLibrary{public class GetStockInfo{public static string[] StockItems = new string[32] { "股票名字", "今日开盘价", "昨日收盘价", "当前价格", "今日最高价", "今日最低价", "竞买价,即买一报价", "竞卖价,即卖一报价", "成交的股票数", "成交金额", "买一申请多少股", "买一报价", "买二", "买二", "买三", "买三", "买四", "买四", "买五", "买五", "卖一申报股数", "卖一报价", "卖二申报股数", "卖二报价", "卖三申报股数", "卖三报价", "卖四申报股数", "卖四报价", "卖五申报股数", "卖五报价", "日期", "时间" };public static string[] PastStockItems = new string[] { "指数名称", "当前点数", "涨跌点数", "涨跌率", "成交量(手)", "成交额(万元)" };private static string url = "/list=";private static string PastUrl = "/list=s_";/// <summary>/// 生成/// </summary>/// <param name="StockID"></param>/// <param name="ValueType"></param>/// <returns></returns>private static string GetUrl(string StockID, int ValueType){string id = string.Empty;if (StockID == "" || StockID.Length != 6){return null;}string dm = "sh";if (StockID.Trim() == "000001")dm = "sh";else if (StockID.Trim() == "399001")dm = "sz";else if (StockID.Substring(0, 2) == "00")//深圳dm = "sz";else if (StockID.Substring(0, 2) == "60")dm = "sh";else if (StockID.Substring(0, 2) == "51")//上海基金dm = "sh";switch (ValueType){case 0:return url + dm + StockID;case 1:return PastUrl + dm + StockID;default:return url + dm + StockID;}}/// <summary>/// 获取服务实时及历史信息/// </summary>/// <param name="url"></param>/// <returns></returns>public static string[] GetValue(string url){try{string[] StockValue;WebClient myWebClient = new WebClient();Stream myStream = myWebClient.OpenRead(url);StreamReader sr = new StreamReader(myStream, System.Text.Encoding.GetEncoding("gbk"));string strHTML = sr.ReadToEnd();myStream.Close();sr.Close();int first = strHTML.IndexOf("\"");strHTML = strHTML.Substring(first + 1, strHTML.Length - first - 4);StockValue = strHTML.Split(',');if (StockValue.Length >= 2)return StockValue;elsereturn null;}catch (Exception ex){return null;throw ex;}}/// <summary>/// 获取股票实时信息/// </summary>/// <param name="StockId"></param>/// <returns></returns>public static string[] GetRealValue(string StockId){return GetValue(GetUrl(StockId, 0));}/// <summary>/// 获取股票历史信息/// </summary>/// <param name="StockId"></param>/// <returns></returns>public static string[] GetPastValue(string StockId){return GetValue(GetUrl(StockId, 1));}public static DataTable getHis(string stockId){DataTable dt = new DataTable();dt.Columns.Add("StockId", typeof(string));dt.Columns.Add("iDate", typeof(DateTime));dt.Columns.Add("Opening", typeof(double));dt.Columns.Add("MaxHight", typeof(double));dt.Columns.Add("Closing", typeof(double));dt.Columns.Add("MaxLow", typeof(double));string url = string.Format("/corp/go.php/vMS_MarketHistory/stockid/{0}.p html", stockId);.WebClient wc = new WebClient();string Content = wc.DownloadString(url);string reg = "<a target='_blank'href='/quotes_service/view/vMS_tradehistory.php?symbol=s hd{6}&date=d{4}-d{2}-d{2}'>s*([^s]+)s+</a>s*</div></td>s*<td[^d]*([^<]*)</div></td>s+<td[^d] *([^<]*)</div></td>s+<td[^d]*([^<]*)</div></td>s+<td[^d]*([^<]*)</div></td>s+";MatchCollection result = Regex.Matches(Content, reg);foreach (Match item in result){DataRow dr = dt.NewRow();dr[0] = stockId;dr[1] = item.Groups[1].Value;//时间dr[2] = item.Groups[2].Value;//时间dr[3] = item.Groups[3].Value;//时间dr[4] = item.Groups[4].Value;//时间dr[5] = item.Groups[5].Value;//时间}return dt;}}}。

相关文档
最新文档