PythonStock(34)使用AKShare 做股票数据出来,替换现有每日数据,job相关任务,制作基础镜像使用python3.7-slim-stretch,akshare使用 0.9.65 版本

本文主要是介绍PythonStock(34)使用AKShare 做股票数据出来,替换现有每日数据,job相关任务,制作基础镜像使用python3.7-slim-stretch,akshare使用 0.9.65 版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 前言
  • 1,关于AKShare 概览
  • 2,安装lib库
  • 3,股票数据接口
  • 3,总结

前言


使用Python开发一个web股票项目。
【github项目地址】:
https://github.com/pythonstock/stock
【知乎专栏地址】:
https://zhuanlan.zhihu.com/pythonstock
【docker hub地址下载】:
https://hub.docker.com/r/pythonstock/pythonstock
【相关stock资料分类】:
http://blog.csdn.net/freewebsys/article/category/7076584
主要使用开发语言是python。
使用的lib库是pandas,tushare,TensorFlow,tornado等。

本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/117434589

1,关于AKShare 概览


AKShare 是基于 Python 的财经数据接口库, 目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具, 主要用于学术研究目的.

风险提示:AKShare 开源财经数据接口库所采集的数据皆来自公开的数据源,不涉及任何个人隐私数据和非公开数据。 同时本项目提供的数据接口及相关数据仅用于学术研究,任何个人、机构及团体使用本项目的数据接口及相关数据请注意商业风险。

https://github.com/jindaxiang/akshare

2,安装lib库


    pip3 install akshare apt-get install -y nodejs

akshare 依赖 nodejs,必须安装这个才可以。

#!/usr/local/bin/python3
# -*- coding: utf-8 -*-import akshare as ak
print(ak.__version__)

可以打印版本就是正常了:
python test_akshare.py
0.6.10

3,股票数据接口


https://www.akshare.xyz/zh_CN/latest/tutorial.html

https://www.akshare.xyz/zh_CN/latest/data/stock/stock.html

股票相关接口调用方法:

实时行情,可以使用

# 实时行情数据
# 接口: stock_zh_a_spot
# 目标地址: http://vip.stock.finance.sina.com.cn/mkt/#hs_a
# 描述: A 股数据是从新浪财经获取的数据, 重复运行本函数会被新浪暂时封 IP, 建议增加时间间隔
# 限量: 单次返回所有 A 股上市公司的实时行情数据stock_zh_a_spot_df = ak.stock_zh_a_spot()
print(stock_zh_a_spot_df)# 插入到 MySQL 数据库中
common.insert_db(stock_zh_a_spot_df, "stock_zh_a_spot", True, "`symbol`")

但是历史行情使用函数。

TypeError: stock_zh_a_daily() got an unexpected keyword argument 'start_date'# 报这个错误信息:发现日期参数不管用,直接去掉才可以,python3.6的只支持0.6.10 版本的。
# 需要升级到 python3.7 才可以。# 历史行情数据
# 日频率
# 接口: stock_zh_a_daily
# 目标地址: https://finance.sina.com.cn/realstock/company/sh600006/nc.shtml(示例)
# 描述: A 股数据是从新浪财经获取的数据, 历史数据按日频率更新; 注意其中的 sh689009 为 CDR, 请 通过 stock_zh_a_cdr_daily 接口获取
# 限量: 单次返回指定 A 股上市公司指定日期间的历史行情日频率数据
# adjust=""; 默认为空: 返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据;stock_zh_a_daily_qfq_df = ak.stock_zh_a_daily(symbol="sz000002", adjust="")
print(stock_zh_a_daily_qfq_df)# 升级 python3.7 之后,再安装 akshare 就可以支持按照日期查询数据了。
stock_zh_a_daily_qfq_df = ak.stock_zh_a_daily(symbol="sz000002", start_date="20200101", end_date="20210101", adjust="")
print(stock_zh_a_daily_qfq_df)

3,总结


发现 akshare 要求升级python 3.7 以上版本才可以,需要升级基础镜像。
然后 akshare 就可以升级到 0.9.65 的最新版本了。
新版本就可以按照日期进行查询,解决 TypeError: stock_zh_a_daily() got an unexpected keyword argument ‘start_date’ 这个问题了。

折腾几天终于把这个 stock_zh_a_daily 调用通了。可以按照日期进行查询了。
同时代码也提交到了github 上。

https://github.com/pythonstock/stock/commit/d4da492606fb3f5543303cacb9aa85153e670fd7

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/117434589

博主地址是:https://blog.csdn.net/freewebsys

这篇关于PythonStock(34)使用AKShare 做股票数据出来,替换现有每日数据,job相关任务,制作基础镜像使用python3.7-slim-stretch,akshare使用 0.9.65 版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/266318

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud