思路概览一:下载存储

股票数据量大,有一定的涨跌模式,为了节约看股时间,今天我们用python3,量化分析有关股票数据。

总体思路:使用通达信获得所有股票代码,然后通过requests 模块下载http://hq.sinajs.cn/list=股票数据,然后以日期为主键保存到sqlite3数据库。

模块概览:

本文设计了五个模块:分别是Spider模块、File模块、SQL模块、SinaStockData模块和Stock模块,各部分功能如下:(这里说明一下,之前上一期写了python3爬取uumtu图片,发现代码重用率太高,所以决定把代码包装成类,方便后续使用)

Spider模块:这里比较简单,就是使用爬虫通用框架下载指定路径的股票数据,如:http://hq.sinajs.cn/list=sh601818的数据是这样的:var hq_str_sh601818="光大银行,3.580,3.590,3.560,3.590,3.560,3.560,3.570,74935705,267661999.000,5622218,3.560,4639800,3.550,1195300,3.540,512000,3.530,273400,3.520,83600,3.570,2495580,3.580,3009400,3.590,2424100,3.600,2471000,3.610,2020-04-21,15:00:16,00,";

代码如下:

这里因为给页面coding为gb2312,在linux下转换有乱码问题,因此注释掉了

File模块:主要功能是把股票代码从000001读入文件后,通过Spider测试后转换成sh000001模式,方面获得每只股票的链接,如http://hq.sinajs.cn/list=sh601818。同时加入异常处理机制,将发生错误的数据库操作,写入log文件。File模块功能如下:

打包成类,还不用自己关闭文件了,真是方便,说一下如果程序较小,文件不关闭是没有问题的,但是如果反复打开,不关闭就容易发生内存错误。

SQL模块:连接数据库,读取,关闭数据库,很简单

这里注意,要及时使用commit函数提交数据库,不然直到程序结束才会提交,容易因意外退出而半途而废

SinaStockData模块:类似于正则表达式,本人还没学习相关模块,就直接用string函数处理了

将股票处理成用”,”分割的字符串sh601818,光大银行,3.580,3.590,3.56..最后生成列表,方便数据提取

Stock模块:把SinaStockData的列表数据打包成类,把各段数据转换成stock.get_code()的模式,代码如下:

解析每个字段,方便数据库的读写,然后最后方便调试,谢了to_string函数,来源于java思想。

最后书写主函数,处理数据库的插入,读取,列表数据的插入,然后写一个脚本,每天15:00以后自动运行程序即可,并把错误写入log文件。代码如下:

功能如下:一、从代码列表中读取sh000001格式的代码,使用SQL创建表;二、获得股票页面数据,插入数据库,如果异常写入当日日志,同时使用进度表示处理游标。

运行界面如下:

如果出现错误,打印schema,这里发现出现错误的都是当日没开盘的股票

运行结果如下:

可以按照日期删选,方便后续分析

python 股票分析api,2020-04-21 用python3 按周分析新浪接口股票数据(篇一:下载、存储篇)...相关推荐

  1. python股票数据分析_用Python抓取新浪的股票数据

    最近做数据分析,先是找到了Tushare这个免费开源的第三方财经包,但后来用了几天之后发现,它的日交易历史数据有时候有不准确的情况,查看源代码发现,这个包的数据源是凤凰财经,而对比凤凰网站其站点的数据 ...

  2. python美国股票数据api_【美股量化00篇】Python获取新浪接口美股实时数据

    1.本篇以BABA(阿里巴巴)为例,在浏览器地址栏输入以下url,即可获取个股数据:阿里巴巴(BABA)实时数据​hq.sinajs.cn import requests url = 'http:// ...

  3. python如何爬虫股票数据_如何抓取股票数据_用Python抓取新浪的股票数据

    python爬虫成长之路(一)抓取证券之星的股票数据 其中编译匹配模式findall方法使用这个匹配模式来匹配所需的信息并以列表的形式返回.正则表达式的语法非常多.下面我只列出使用的符号的含义.匹配除 ...

  4. python爬取股票实时价格_【美股量化00篇】Python获取新浪接口美股实时数据

    1.本篇以BABA(阿里巴巴)为例,在浏览器地址栏输入以下url,即可获取个股数据: http://hq.sinajs.cn/list=gb_baba (股票代码必须为小写字母,结果如下图所示) 阿里 ...

  5. 新浪实时股票数据接口http://hq.sinajs.cn/list=code

    股票数据的获取目前有如下两种方法可以获取: 1. http/javascript接口取数据 2. web-service接口 1.http/javascript接口取数据 1.1Sina股票数据接口 ...

  6. JS获取新浪实时股票行情数据

    转自:http://blog.csdn.net/simon803/article/details/7784682 股票数据的获取目前有如下两种方法可以获取: 1. http/javascript接口取 ...

  7. 新浪实时股票数据接口http://hq.sinajs.cn/list=股票代码

    股票数据的获取目前有如下两种方法可以获取: 1. http/JavaScript接口取数据 2. web-service接口 1.http/javascript接口取数据 1.1Sina股票数据接口 ...

  8. 新浪云 股票实时筛选系统 开发说明

    系统网址是: http://pnpstock.sinaapp.com/ 设计好系统后, 开始在新浪云平台 实施 代码库管理 新浪云用 svn 管理代码库 下载一个 小乌龟 svn, 就可以轻松提交代码 ...

  9. 新浪实时股票接口大全

    股票数据的获取今朝有如次两种要领可以获取: 1. http/javascript接口取数据 2. -service接口 1.http/javascript接口取数据 1.1Sina股票数据接口 以大秦 ...

最新文章

  1. 全面理解Javascript闭包和闭包的几种写法及用途【转】
  2. OceanBase技术直播间开播啦!蚂蚁金服技术专家手把手教你搭建OB数据库~
  3. asp.net 发布程序到iis后无法连接到oralce数据库问题
  4. 2017夏季达沃斯今日开幕,人工智能元素尤其突出
  5. uniapp ios时间戳获取不到_uni-app打包编译成安卓及ios包并上传发布测试版
  6. python小白从哪来开始-Python爬虫小白入门(一)写在前面
  7. Python基础---时间模块 (二)
  8. mockito参数匹配_Mockito参数匹配器– any(),eq()
  9. Java——数据结构与算法
  10. 线性代数1.51.5Cramer法则/克莱姆法则
  11. 1、植物大战僵尸:修改配置
  12. 【MATLAB笔记】绘制图中图
  13. 如何对付不能卸载的杀毒软件
  14. Linux下普通用户使用强制位获取root权限
  15. Django笔记-实现用户退出登录(logout)
  16. java校园招聘华为_2015届华为校园招聘机试题 java实现
  17. 价格奥秘-在超市遇见亚当斯密--第二章 谁在决定一支铅笔的价格?
  18. 软件正在吞噬整个世界
  19. 南开大学校徽及手写字的Tikz源码
  20. 【董天一】IPFS和竞争对手们(二)

热门文章

  1. 猫眼爬虫top100(xpath,re)对评分进行数据可视化。
  2. 软链接和硬链接的区别
  3. 《ADC和DAC的基本架构》----学习记录(一)
  4. java基础入门第一天须知
  5. 网络编程之epoll原理
  6. 使用Pitstop批量删除pdf中书页上方和下方的文字
  7. 赵威计算机科学信息论文,计算机系统学论文参考文献 计算机系统参考文献有哪些...
  8. JsonNode与对象之间的转换
  9. 非参数回归和相关统计检验
  10. pythonrequestspost爬取数据不全_Python爬取数据之Requests库