新浪在上周改了实时数据获取接口,打了我一个措手不及,现将改后的获取方式记录如下。
我使用的是python。
股票实时数据获取方法:
import requests
gudaima = "sz000001"
headers = {'referer': 'http://finance.sina.com.cn'}
resp = requests.get('http://hq.sinajs.cn/list=' + gudaima, headers=headers, timeout=6)
data = resp.text
print(data)
输出内容:
var hq_str_sz000001="平安银行,17.450,17.330,17.350,17.560,17.210,17.350,17.360,148168295,2575115124.690,77830,17.350,69600,17.340,336500,17.330,321500,17.320,208200,17.310,370500,17.360,595600,17.370,497478,17.380,537000,17.390,815540,17.400,2022-01-21,15:00:03,00";
输出内容含义,下面为各个数据的含义:
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″,时间;
期货实时数据获取方法:
import requests
spbz = "RB2205"
headers = {'referer': 'http://finance.sina.com.cn'}
resp = requests.get('http://hq.sinajs.cn/list=nf_' + spbz, headers=headers, timeout=6) # 请求网页+a[i6]
content1 = resp.text
print(content1)
输出内容:
var hq_str_nf_RB2205="螺纹钢2205,230000,4720.000,4740.000,4690.000,0.000,4729.000,4730.000,4729.000,0.000,4717.000,15,224,1837503.000,378170,沪,螺纹钢,2022-01-21,1,,,,,,,,,4720.299";
获取的tick数据,依次为,最新价、买一价、买一量、卖一价、卖一量。