Python 抓取新浪财经股票数据
2017-03-16 12:01
465 查看
新浪并未提供 API,但我们可以通过抓包来获取实时或历史行情数据。
http://hq.sinajs.cn/?format=text&list=sh601688
来获取证券代码为
其中各个数字(按顺序依次)的含义为:
如果要同时查询多个股票,可以这么使用 URL:
http://hq.sinajs.cn/list=sh601688,sh601003,sh601001
如要查询大盘指数,则 URL 格式稍有不同。例如查询上证综指(000001),使用如下 URL:
http://hq.sinajs.cn/list=s_sh000001
浏览器显示内容为:
数据含义分别表示:指数名称、当前点数、当前价格、涨跌率、成交量(手)、成交额(万元)。
查询深指的 URL 为:
http://hq.sinajs.cn/list=s_sz399001
查询某支股票的资金流数据可以访问:
http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/MoneyFlow.ssi_ssfx_flzjtj?format=text&daima=sh601688
可以获取证券代码为
含义如下:
查询资金排行可以访问:
http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/MoneyFlow.ssl_bkzj_ssggzj?page=1&num=20&sort=r0_net&bankuai=&shichang=
可以获取当日收盘各个股票的资金排行数据。url 中的参数含义为:
得到的数据如下:
http://market.finance.sina.com.cn/downxls.php?date=2016-07-08&symbol=sh600900
可以得到日期为
访问:
http://market.finance.sina.com.cn/pricehis.php?symbol=sh600900&startdate=2011-08-17&enddate=2011-08-19
可以获得代码为
Python 代码将在以后给出。
实时行情
比如我们可以通过浏览器访问:http://hq.sinajs.cn/?format=text&list=sh601688
来获取证券代码为
sh601688的实时行情数据,可以看到内容为:
var hq_str_sh601688="华泰证券,20.280,20.250,20.340,20.400,20.200,20.320,20.340,5737081,116441306.000,1200,20.320,4900,20.310,44300,20.300,30200,20.290,18900,20.280,2300,20.340,24200,20.350,31900,20.360,50800,20.370,27800,20.380,2016-11-22,09:48:11,00";
其中各个数字(按顺序依次)的含义为:
0: "华泰证券": 股票名字 1: "20.280": 今日开盘价 2: "20.250": 昨日收盘价 3: "20.340": 当前价格 4: "20.400": 今日最高价 5: "20.200": 今日最低价 6: "20.320": 竞买价,即“买一”报价 7: "20.340": 竞卖价,即“卖一”报价 8: "5737081": 成交的股票数(单位为“个”) 9: "116441306.000": 成交金额(单位为“元”) 10: "1200": “买一”申请 1200 股 11: "20.320": “买一”报价 12: "4900": “买二”申请 4900 股 13: "20.310": “买二”报价(以下依次类推) 14: "44300": 买三 15: "20.300": 买三 16: "30200": 买四 17: "20.290": 买四 18: "18900": 买五 19: "20.280": 买五 (20,21), (22,23), (24,25), (26,27), (28,29): 卖一,……,卖五 30: "2016-11-22": 日期 31: "09:48:11": 时间
如果要同时查询多个股票,可以这么使用 URL:
http://hq.sinajs.cn/list=sh601688,sh601003,sh601001
如要查询大盘指数,则 URL 格式稍有不同。例如查询上证综指(000001),使用如下 URL:
http://hq.sinajs.cn/list=s_sh000001
浏览器显示内容为:
var hq_str_s_sh000001="上证指数,3227.6750,9.5273,0.30,847582,9803179";
数据含义分别表示:指数名称、当前点数、当前价格、涨跌率、成交量(手)、成交额(万元)。
查询深指的 URL 为:
http://hq.sinajs.cn/list=s_sz399001
查询某支股票的资金流数据可以访问:
http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/MoneyFlow.ssi_ssfx_flzjtj?format=text&daima=sh601688
可以获取证券代码为
sh601688的股票资金流数据:
({r0_in:"61067834.2900",r0_out:"66105567.1800",r0:"140062267.3500",r1_in:"44569099.6700",r1_out:"47081908.0000",r1:"95176567.6700",r2_in:"7799706.0000",r2_out:"6024523.7500",r2:"14493945.7500",r3_in:"674441.0000",r3_out:"572123.0000",r3:"1386664.0000",curr_capital:"544372",name:"华泰证券",trade:"20.3400",changeratio:"0.00444444",volume:"12367981.0000",turnover:"22.7197",r0x_ratio:"-77.5088",netamount:"-5673040.9700"})
含义如下:
"r0_": 特大单 "r1_": 大单 "r2_": 中单 "r3_": 散单 "_in": 流入 "_out": 流出 "r0, r1, r2, r3": 成交量
查询资金排行可以访问:
http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/MoneyFlow.ssl_bkzj_ssggzj?page=1&num=20&sort=r0_net&bankuai=&shichang=
可以获取当日收盘各个股票的资金排行数据。url 中的参数含义为:
num: 查询股票的数量 r0_net: 按特大胆流入排名 bankuai: 版块 shichang: 市场
得到的数据如下:
[ {symbol:"sz002620",name:"瑞和股份",trade:"71.7500",changeratio:"0.099954",turnover:"1753.75",amount:"1179694462.0000",inamount:"934158388.5000",outamount:"695810.0000",netamount:"933462578.5000",ratioamount:"0.791275",r0_in:"874476882.0000",r0_out:"0.0000",r0_net:"874476882.0000",r3_in:"2823506.0000",r3_out:"0.0000",r3_net:"2823506.0000",r0_ratio:"0.741274",r3_ratio:"0.00239342",r0x_ratio:"82.3205"}, {symbol:"sz002207",name:"准油股份",trade:"25.0900",changeratio:"0.0999562",turnover:"2029.06",amount:"860907446.0000",inamount:"590209072.1000",outamount:"210807228.8600",netamount:"379401843.2400",ratioamount:"0.4407",r0_in:"449631877.8100",r0_out:"128708267.0900",r0_net:"320923610.7200",r3_in:"804558.2000",r3_out:"598861.0000",r3_net:"205697.2000",r0_ratio:"0.372774",r3_ratio:"0.000238931",r0x_ratio:"74.9897"}, ... {symbol:"sh600860",name:"京城股份",trade:"11.6500",changeratio:"0.100094",turnover:"385.312",amount:"138469356.0000",inamount:"115675611.7200",outamount:"15170140.1600",netamount:"100505471.5600",ratioamount:"0.725832",r0_in:"72320423.7000",r0_out:"2585692.0000",r0_net:"69734731.7000",r3_in:"1797223.0000",r3_out:"1027247.7200",r3_net:"769975.2800",r0_ratio:"0.503611",r3_ratio:"0.00556062",r0x_ratio:"78.7588"}]
历史行情
用浏览器访问:http://market.finance.sina.com.cn/downxls.php?date=2016-07-08&symbol=sh600900
可以得到日期为
date=2016-07-08,代码为
symbol=sh600900的股票的成交明细,数据为 xls 格式。时间一般为当天早上
09:30到下午
15:00,平均 5 秒一个数据。
访问:
http://market.finance.sina.com.cn/pricehis.php?symbol=sh600900&startdate=2011-08-17&enddate=2011-08-19
可以获得代码为
symbol=sh600900的股票在
startdate=2011-08-17到
2011-08-19之间的分价表(不同成交量的占比图)。
Python 代码将在以后给出。
相关文章推荐
- 【整理】用Python+beautifulsoup抓取股票数据
- Python抓取股票数据,如何用python编程赚取第一桶金?
- 一个极其简洁的Python网页抓取程序,自己主动从雅虎財经抓取股票数据
- java 抓取新浪财经网上的股票数据(1)
- Python 实现股票数据的实时抓取
- 一个极其简洁的Python网页抓取程序,自动从雅虎财经抓取股票数据
- Python+Selenium实现股票板块数据模拟抓取
- Python 实现股票数据的实时抓取
- 利用Python中的matplotlib模块抓取yahoo finance里的历史数据并绘图
- 跟ArthurXF学从雅虎抓取股票数据的方法
- 用python抓取oj题目(2)——Sqlalchemy将数据存到数据库
- Python3获取股票行情数据(中国个股/中国指数/全球指数)
- Python数据抓取(抓图片)
- python 抓取腾讯微博数据并做简单的分析
- python模拟登陆网站抓取数据
- python 抓取腾讯微博数据并做简单的分析 .
- Python抓取数据并存入到mysql
- 参照《鲜活的数据:数据可视化指南》第2章:抓取网页数据(历史天气记录)的Python程序
- 分享:Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据
- python 实现页面数据抓取