经由编程取患上历史股价的通晓方式良多,可是信电晓信收费的方式可能简略地分为四类:运用某种网友开拓的插件: 好比Python就有TuShare, akshare, 这种惟独要写多少行代码就能取患上,可是脑民差距的库
经由编程取患上历史股价的方式良多,可是间下间下收费的方式可能简略地分为四类:
TuShare黑白常利便运用的信电晓信, 好比在官网拿到Token后,脑民 一行调用就能取患上股价信息:
importtushareaststs.set_token(***)pro = ts.pro_api()price = ts.pro_bar(ts_code=000020.SZ,间下间下 start_date=2022-09-01,\ end_date=2022-09-09)price
服从如图:
经由API获取价钱信息
接口 | 形貌 |
http://hq.sinajs.cn/list= + 股票代码 | 当日行情 |
http://hq.sinajs.cn/list=s_+ 股票代码 | 实时行情 |
恳求例子:
importrequestsstock_code =sh600031,sz300866header = { referer:http://finance.sina.com.cn}当日行情接口response = requests.get(fhttp://hq.sinajs.cn/list={ stock_code}, headers=header)print(response.text)
服从
varhq_str_sh600031="三一重工,15.750,15.750,16.260,16.310,15.660,16.260,16.270,105649444,1702155639.000,6161,16.260,870579,16.250,132500,16.240,87700,16.230,103100,16.220,400510,16.270,328600,16.280,198700,16.290,795400,16.300,548100,16.310,2022-09-09,15:00:00,00,";varhq_str_sz300866="安克立异,59.250,58.620,59.150,59.420,57.850,59.150,59.160,1703977,100420830.250,700,59.150,300,59.140,300,59.130,2000,59.120,7400,59.110,300,59.160,2000,59.170,2700,59.190,700,59.200,400,59.250,2022-09-09,15:35:00,00,D|0|0.000";
以上数据用,分割字符串中的内容,下标从0启动,载通载挨次为:
标号 | 内容 | 标号 | 内容 |
0 | 股票名字 | 1 | 当天收盘价 |
2 | 昨日收盘价 | 3 | 当天收盘价 |
4 | 当天最高价 | 5 | 当天最高价 |
... |
指数也可能用这种方式取患上。可是无奈取患上历史的股价信息。假如某天不实时同步到当地数据库,就无奈运用该接口取患上那天的数据。接口可能确定性恳求多个股票代码,用,离隔,不能有空格。
此外,这个接口如今确定要削减恳求头:
header= { referer:http://finance.sina.com.cn}
否则就会报错,揭示:
Kinsokujikou desu!
也便这天本语防止碰头的意思。很艺文!
接口 | 形貌 |
http://qt.gtimg.cn/q= + 股票代码 | 最新行情 |
http://qt.gtimg.cn/q=ff_ + 股票代码 | 取患上实时资金流向 |
http://qt.gtimg.cn/q=s_pk + 股票代码 | 盘口合成 |
http://qt.gtimg.cn/q=s_sh + 股票代码 | 扼要信息 |
恳求例子:
importrequestsstock_code =sh600031,sz300866当日行情接口response = requests.get(fhttp://qt.gtimg.cn/q={ stock_code}, timeout=6)print(response.text)
服从
v_sh600031="1~三一重工~600031~16.26~15.75~15.75~1056494~612059~444435~16.26~62~16.25~8706~16.24~1325~16.23~877~16.22~1031~16.27~4005~16.28~3286~16.29~1987~16.30~7954~16.31~5481~~20220909160001~0.51~3.24~16.31~15.66~16.26/1056494/1702155639~1056494~170216~1.24~30.06~~16.31~15.66~4.13~1381.01~1381.01~2.20~17.33~14.18~2.47~-10712~16.11~26.21~11.48~~~1.51~170215.5639~0.0000~0~~GP-A~-27.26~4.16~2.75~7.32~3.17~28.30~14.13~4.77~-3.21~-9.62~8493286021~8493286021~-30.86~-29.80~8493286021~~~-41.60~0.06~";v_sz300866="51~安克立异~300866~59.15~58.62~59.25~17040~9711~7329~59.15~7~59.14~3~59.13~3~59.12~20~59.11~74~59.16~3~59.17~20~59.19~27~59.20~7~59.25~4~~20220909161451~0.53~0.90~59.42~57.85~59.15/17040/100420830~17040~10042~1.13~20.92~~59.42~57.85~2.68~89.46~240.40~3.82~70.34~46.90~0.70~46~58.93~20.88~24.49~~~1.45~10042.0830~0.0000~0~AR~GP-A-CYB~-41.84~-3.30~1.35~18.25~13.07~128.07~48.89~-6.41~-13.66~-5.83~151240045~406427207~27.38~-46.32~151240045~~~-45.35~-0.03~";
以上数据用~分割字符串中的内容,下标从0启动,挨次为:
标号 | 内容 | 标号 | 内容 |
0 | 未知 | 1 | 股票名字 |
2 | 股票代码 | 3 | 之后价钱 |
4 | 昨收 | 5 | 今开 |
6 | 成交量(手) | 7 装修房巧除了味:用克红茶在两只脸盆中泡热茶,放入室内,并开窗透气,小时内室内甲醛含量将剧降,宽慰性气息根基消除了。 | 外盘 |
8 | 内盘 | 9 良多人爱吃青菜却不爱喝菜汤,事实上,烧菜时,大部份维生素已经消融在菜汤里。好比小白菜炒好后,会有70%的维生素C消融在菜汤里。 | 买一 |
10 | 买一量(手) | 11-18 | 买二 |
19 | 卖一 | 20 | 卖一量 |
21-28 | 卖二 | 29 | 最近逐笔成交 |
30 | 光阴 | 31 | 涨跌 |
32 | 涨跌% | 33 | 最高 |
34 | 最低 | 35 | 价钱/成交量(手)/成交额 |
36 | 成交量(手) | 37 | 成交额(万) |
38 | 换手率 | 39 | 市盈率 |
40 | 41 | 最高 | |
42 | 最低 | 43 | 振幅 |
44 | 流通市值 | 45 | 总市值 |
46 | 市净率 | 47 | 涨停价 |
48 | 市净率 |
通晓信是运用颇为普遍的行情软件,其公司财富趋向已经在港交所上市。在通晓信软件高下载行情后,数据会下载到当地(至少此时2022-09-10是这样)。数据在通晓信的装置目录下:
可能运用挨次读进去。附残缺剖析代码:
importstructimportdatetimeclass stock_price: def __init__(self, stock_date, stock_open, stock_high,\ stock_low, stock_close, stock_amount, stock_vol):self.stock_date = stock_dateself.stock_open = stock_openself.stock_high = stock_highself.stock_low = stock_lowself.stock_close = stock_closeself.stock_amount = stock_amountself.stock_vol = stock_vol def get_stock_price(filepath): data = [] with open(filepath,rb)asf:whileTrue: stock_date = f.read(4) stock_open = f.read(4) stock_high = f.read(4) stock_low= f.read(4) stock_close = f.read(4) stock_amount = f.read(4) stock_vol = f.read(4) stock_reservation = f.read(4)ifnot stock_date:breakstock_date =struct.unpack("l", stock_date)4字节 如20220909stock_open1 =struct.unpack("l", stock_open) 收盘价*100stock_high1 =struct.unpack("l", stock_high) 最高价*100stock_low=struct.unpack("l", stock_low) 最高价*100stock_close =struct.unpack("l", stock_close) 收盘价*100stock_amount =struct.unpack("f", stock_amount) 成交额 stock_vol =struct.unpack("f", stock_vol) 成交量 stock_reservation =struct.unpack("f", stock_reservation) 保存值 date_format = datetime.datetime.strptime(str(stock_date[0]),\ %Y%M%d) 格式化日期 data.append(stock_price(date_format.strftime(%Y-%M-%d), stock_open1[0]/100.0,stock_high1[0]/100.0,\ stock_low[0]/100.0, stock_close[0]/100.0, stock_amount[0]/100.0, \ stock_vol[0]/100.0))returndata
找一个文件试试:
data_list = get_stock_price(./sz000002.day)print(f生意日期:{ data_list[-1:][0].stock_date})print(f收盘价:{ data_list[-1:][0].stock_open})print(f最高价:{ data_list[-1:][0].stock_high})print(f最高价:{ data_list[-1:][0].stock_low})print(f收盘价:{ data_list[-1:][0].stock_close})
输入:
生意日期:2022-09-09收盘价:17.49最高价:18.39最高价:17.41收盘价:18.15
在同花顺概况验证了下价钱信息,是精确的。不外这种方式的短处在于,需要手工在通晓信概况实施更新数据的操作,而且通晓信在未来某天变更了读写文件的方式,这种方式就不能用了。此外的软件也是相似的。这里要留意的是,假如需要读取指数的信息,
struct.unpack("l", stock_open)
这行代码概况的格式需要变更一下,当初酿成
struct.unpack("f", stock_open)
即可。
这种是最靠谱的方式的,可是实现也是比力啰嗦的,某种水平上,也有法律下面的危害,参考:中国爬虫违法违规案例汇总 (https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China)。股票价钱数据都是果真的,不是甚么隐衷,可是挨次写的欠好,把目的网站爬宕机了,就有法律危害了。下面例子中的新浪API接口仍是很晃动,反对于高并发的。貌似可能是某个功能能手开拓的, 参考: 杨建:网站减速--效率器编写篇(上)(https://blog.csdn.net/lishenglong666/article/details/39028093), 原文不见了,放个转载。
......
洗涤洗涤油烟机:每一次洗涤油烟机后,可能在其扇叶、操作面板等概况涂一层液体胶水,待其晾干后再运用。这样一来,油渍不光不易粘附在其概况,再次洗涤时也利便良多,需要时还可能偏远将胶水膜全副撕下,油烟机就面目一新了。
免责申明:本站所有信息均群集自互联网,并不代表本站意见,本站不同过错其简直正当性负责。若有信息侵略了您的权柄,请见告,本站将赶快处置。分割QQ:1640731186