python爬虫爬取股票的k线图
作者:??斜月???? 发布时间:2021-06-30 15:54:37
前言
之前已经讲述了一些关于;python
;获取基金的一些信息,最近又有了一些新发现,和大家分享一下,这个是非常重要的内容,非常重要的内容。这个数据也是非常的敏感,在一些搞量化交易的平台上,这些数据都是要收费的,而且数据的质量也不能保障。这个内容就是如何获取股票交易的 k 线数据。
数据来源分析
我是非常欣赏东方某富的,因为同为券商,和别的公司确实不大一样,有这互联网的基因,可以这样说,是因为它的出现改变了一些行业的规则。话不多说,这里以海尔智家为例,抓取一下股票的 k 线数据。
# 页面数据连接
http://quote.eastmoney.com/sh600690.html
我们需要获取如下图所示的红色和绿色柱子的数据,网页上显示的是 svg
的图片,没有办法获取数据,但是我发现有些数据是通过接口访问后台的,在切换 k 线展示的时候,我偶然间发现了这个接口,通过这个接口就可以获取 k 线数据。
一定是在切换 日 k 周 k 月 k 的时候会访问后台接口,如下图所示,就是返回前台的数据,这里我吐槽一下,前端好像请求了后台两次,因为我看到了两个请求,而且返回的数据是一样的。
展示一下访问后台接口的参数:
这里去掉了一些无关紧要的参数,其结果如下:
http://54.push2his.eastmoney.com/api/qt/stock/kline/get?
# 这里传入需要查询的股票代码,需要加上前缀上海市场是 1,深圳市场为 0
secid=1.600690
# 这里类似于 token ,需要传入,不过好像是固定的,每个股票都是一样的
&ut=fa5fd1943c7b386f172d6893dbfba10b
# fields1 和 fields2 类似于查询参数,
# fields1 不晓得是什么意思
&fields1=f1,f2,f3,f4,f5,f6
# fields2 为 日期 开盘价 收盘价 最高价 涨跌幅 价格之类的,别问我怎么知道的,我是一个个试出来的
&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61
# 这个参数是 k 线的类型 101 为日线 102 为周线以此类推,不能说太多,大家可以去试试就知道全部了
&klt=102
# 是否复权 0不复权 1 前复权 2 后复权
&fqt=1
# 查询数据的开始时间和结束时间,格式为yyyymmdd,结束时间默认为2050年
&beg=0
&end=20500101
# 这个不知道是什么意思
&smplmt=460
# 查询的最大条数
&lmt=1000000
这里再次吐槽一下接口参数的命名,带着明显的中文字母标签。
数据抓取
在之前我们已经分析了数据的接口,可以开始上代码了,依旧使用 requests
来抓取数据然后再打印其结果:
第一步要组装请求据参数,拼装参数 url。
第二步使用 requests 请求参数,解析参数返回结果,进行输出
最后打印的结果如下图所示,这里我采用的是周线数据,所以截止到今天位置,刚好是四个周,一共四行数据。
来源:https://juejin.cn/post/7058816101961957384


猜你喜欢
- 1.python版本与matlab版本的对应关系在MAC中安装了Anaconda3,其中自带的python版本为3.8,通过python版本
- 1.使用open()函数打开文件夹在读取一个文件的内容之前,需要先打开这个文件。在Python程序中可以通过内置函数open()来打开一个文
- JSP 注释的详解及简单实例一 三种格式二 举例 <body> <h1>大家好</h1
- 现在需要将course分组,然后选择出每一组里面的最大值和最小值,并保留下来实现下面数据结果:直接使用groupby函数,不能直接达到此效果
- python 爬虫解决403禁止访问错误在Python写爬虫的时候,html.getcode()会遇到403禁止访问的问题,这是网站对自动化
- Celery文档参考:http://docs.jinkan.org/docs/celery/参考文章:https://www.jb51.ne
- 大家在没有阅读本文之前先看下python的基本概念,Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由Gui
- 许多数据科学家认为获取和清理数据的初始步骤占工作的 80%,花费大量时间来清理数据集并将它们归结为可以使用的形式。因此如果你是刚刚踏入这个领
- 简介由于http协议的请求是无状态的。故为了让用户在浏览器中再次访问该服务端时,他的登录状态能够保留(也可翻译为该用户访问这个服务端其他网页
- """This module contains code fromThink Python by Allen
- 笔者在今天的工作中,遇到了一个需求,那就是如何将Python字符串生成PDF。比如,需要把Python字符串‘这是测试文件'生成为P
- 1. 什么是 CSV 文件CSV(逗号分隔值)文件是使用逗号分隔信息的文本文件。该文件的每一行都是一条数据记录,也就意味着它可以用于以表格的
- 如何做一个文本搜索? 比较简单,见下:<%Head = "搜索"SearchStri
- 下面的代码中python2与python3的print使用区别,大家注意一下。python3需要加()才行。语法:for循环的语法格式如下:
- Juan Pablo De Gregorio 的 原文很多人都问我如何为一本杂志、一份报纸、一张海报、一份简报或是一份出版物选择
- MySQL是一个非常流行的小型关 系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的
- django orm 有个defer方法,指定模型排除的字段。如下返回的Queryset, 排除‘username', 'i
- kafka的认证方式一般有如下3种:1.SASL/GSSAPI 从版本0.9.0.0开始支持2.SASL/PLAIN 从版本0.10.0.0
- Python常见的异常提示及含义对照表如下:异常名称描述BaseException所有异常的基类SystemExit解释器请求退出Keybo
- 使用vue去请求接口发现问题来了:我请求只能请求一次,然后在按按钮去请求的时候发现502(这个是接口定义的)502就是传了空的值过来 这个是