自制炒股盯盘神器——python实现(1)

   炒股盯盘很累?想自动获取每日某股票的交易信息?想实时监控某只股票?本文“自制炒股盯盘神器”帮你实现!本文先讲如何用python获取股票信息······

   获取某只股票的信息有多种途径,可以通过编写python网络爬虫程序先爬取网页信息,然后处理爬到的信息。但是,凡是学过网络爬虫的朋友都知道,从初步爬取到的网页信息中提炼自己感兴趣的信息多么麻烦!还要再学习正则表达式,太麻烦了!更何况,有的网页特别是涉及到金钱往来的网页,一般都有反爬虫机制,你根本爬取不到任何有用的信息,除了网页广告!所以,我们必须另辟蹊径,选择技术成熟的python模块获取股市信息。这里就介绍一个提供国内股市信息的、可以免费使用的python模块(大部分相关的模块都收费,有木有觉得这个很良心!)— tushare.py。

  1. 模块安装
        tushare.py的安装可以去官网下载完整的.py文件然后放到指定的文件夹内。但这里我们用python的pip安装。打开Windows的cmd,用pip install tushare.py安装,当然也可以用国内的镜像源安装,即
    pip install -i http://mirrors.aliyun.com/pypi/simple tushare.py(阿里镜像良心!)除了用阿里镜像,也可选下面的任意一种:
Python官方:https://pypi.python.org/simple

v2ex:http://pypi.v2ex.com/simple

阿里云:http://mirrors.aliyun.com/pypi/simple

清华大学:https://pypi.tuna.tsinghua.edu.cn/simple

中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple

中国科学院:http://pypi.mirrors.opencas.cn/simple

douban:http://pypi.douban.com/simple
  1. 函数介绍
       此环节我们只介绍我们自制盯盘神器用到的函数,如果大家对该模块中的其他函数或类方法感兴趣,大家可以通过:
import tushare as ts
dir(ts)

输出该模块内所有函数和类方法的简介。下面讲一些用到的函数:

import tushare as ts
wk = ts.get_hist_data('000002',satrt = '2018-01-01',end = '2020-03-05')

第1行代码通过import tushare as ts的方式引用Tushare库,并把它简写为ts,方便以后使用。第2行代码通过get_hist_data()函数获取从2018年1月1日到2020年3月5日的股票代码为“000002”的日线级别数据,得到一个DataFrame类型的二维数据表格,打印输出结果如下图所示:
在这里插入图片描述
其中,open为开盘价,high为最高价,close为收盘价,low为最低价,volume为成交量, price_change为价格变化(今日收盘价-昨日收盘价), p_change为价格涨跌幅(price_change/昨日收盘价), ma5为5日均线价格,v_ma5为5日均线成交量。这里也可以通过df.head()只打印前5行。
   有的代码编辑器(如PyCharm)在通过print()函数打印输出结果时可能不会把所有的列都显示出来,如果想显示所有列,可在引用pandas库(pandas库在通过pip安装tushare库时会自动安装)时添加如下代码:

import pandas as pd
pd.set_option('display.max_columns',None) 

通过设置ktype参数可以调取分钟级别的数据,代码如下:

wk = ts.get_hist_data('000002',ktype = '5')#调取ktype = 5分钟级别的数据

另外可以通过wk = get_realtime_quotes('000002')获取实时股价信息。
除了爬取股票信息外,该模块还提供了调取指数信息的接口,如下:

idx = ts.get_index()
print(idx)

程序运行结果如下:
在这里插入图片描述
今天(2020/3/5)涨的不错哦!
   当然,我们需要获取某只股票时,不仅要它的基础数据,还需要调取时的日期和时间这些基础信息,可以用python的datetime.py模块获取,下面举例:

import datetime as dt
date = dt.datetime.now().strftime("%F")  #调取日期信息
time = dt.datetime.now().strftime("%T")  #调取时间信息
print("Date:",date) # 会打印2020-3-5
print("Time:",time) # 会打印22:25:13

   调取到某只股票的全部信息如何进一步筛选自己想要的信息?爬取到的信息如何存储?比如说写到一张excel表格中?其实上面提到的pandas模块就是用来解决此类问题的。但限于篇幅,笔者先写这么多,如果大家感兴趣,可以关注公众号“24K纯学渣”,更多文章第一时间将在该公众号更新。欢迎大家学习交流,上述如有不妥或纰漏之处也非常欢迎大家评论指出!

发布了25 篇原创文章 · 获赞 9 · 访问量 6190

猜你喜欢

转载自blog.csdn.net/qq_42144047/article/details/104684668