python爬取股票数据 您所在的位置:网站首页 新日股票历史交易数据 python爬取股票数据

python爬取股票数据

2024-07-14 00:11| 来源: 网络整理| 查看: 265

想必大家对抓取单只股票的历史数据都已驾轻就熟,不管你的数据源是baostock还是akshare,只要按照它们的说明文档来修改,无论抓取分钟线、日线、周线还是前复权、后复权、不复权等等各种姿势的股票数据都相当的简单。但这里有个小小的问题,如果只抓取单只股票的数据,那么我的股票交易软件通达信也能做到啊,甚至通达信下载数据更简单,右键点击下载就好了。

没错,如果你只需要一只或几只股票的历史数据,通达信更简便,但如果你的需求是全市场5000+的股票数据,通达信该如何应对?

有人会发问了:我要这么多数量的股票数据干嘛用呢?验证你的量化因子是否有效呀。回测的时候当然要全市场股票一起测了,如果只测几百只甚至几十只,不会觉得样本数据太小了吗?

统一思想之后,接下来就该上手敲代码了。本次以akshare接口为例,如果你对baostock的数据更感兴趣,调整的方式大同小异,自行调整即可。

首先我们需要在本机任意盘符下新建一个文件夹用来储存即将爬取的海量csv文件。我创建在了D盘,文件夹名字叫“Gstockdatas”。

接下来打开pycharm,新建一个python文件。

直接导入akshare包和pandas包。

接下来查阅akshare官网的说明文档,找到爬取当日全市场股票交易数据的接口,复制粘贴到pycharm中然后稍微改造一下。我们要通过这个接口间接爬取全市场股票的交易代码:

stock_zh_a_spot_em_df = ak.stock_zh_a_spot_em() stock_zh_a_spot_em_df.to_csv("D:\\Gstockdatas\\stockNames.csv",index=False)

直接右键运行程序后,我们发现在“D:\\Gstockdatas\\”地址下,多了一个名为“stockNames.csv”的文件,打开之后是这个样子:

总共有5000多行的股票单日交易数据,其中第二列对应5000多只股票的交易代码(注意:如果出现3位或4位代码,因为前面省略了若干0,我们需要通过代码将它补齐),接下来需要用到pandas把csv文件的第二列加载进内存中,代码如下:

pd_read_csv = pd.read_csv("D:\\Gstockdatas\\stockNames.csv") stockNames=pd_read_csv["代码"]

有了全市场股票的交易代码,我们就可以利用循环不停爬取股票数据了,具体代码如下:

today = datetime.date.today() today = today.strftime("%Y%m%d") i = 0 millisecondsStart = int(round(time.time())) while i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有