用ExcelVBA下载可转债历史数据
先看结果,视频演示送上:https://www.bilibili.com/video/BV1Q3411d7gt/
制作思路的话,基本还是从“找数据源--设计表格结构--网抓实现---数据处理”这个逻辑来做。
数据源方面,东方财富这里还不错,http://quote.eastmoney.com/center/fullscreenlist.html#convertible_comparison ,具有我想要的可转债信息,如下:
表格结构方面,相对简单,一个用于行情计算,一个用于抓取历史数据,如下:
网抓方面,目前分析网页得来的所需数据,好像没有特殊的反爬措施,但是一开始有乱码,后来用xmlhttp对象解决了乱码问题,附上网抓核心代码如下:
Url = "https://hq.stock.sohu.com/mkline/bd/" & ThreeCode & "/bd_" & BondCode & "-10_2.html?_=" & TimeStamp
With CreateObject("Microsoft.XMLHTTP")
.Open "GET", Url, False
.Send
Do While .ReadyState <> 4
If Timer - TimeEach > 10 Then
MsgBox "访问超时,请检查以下链接正确性:" & Url
Exit Sub
End If
DoEvents
Loop
mystr = .responsetext
End With
' Open ThisWorkbook.Path & "\" & "测试.txt" For Binary Access Write As #1
' Put #1, , mystr
' Close #1
Dim Result As Object
Set RegExpression = CreateObject("VBScript.RegExp")
With RegExpression
.ignorecase = True '这个是忽略大小写,因为用WPS和Excel获取结果不一样,WPS为TR,Excel为tr
.Global = True
.Pattern = "dataBasic"":\[([\s\S]+)\]}\)"
Set Result = .Execute(mystr)
mystr = Replace(Result(0).submatches(0), """", "")
End With
数据处理方面,这里相对繁琐一些,返回的数据是根据fXX编号的字段,每个字段含义不同,需要单独匹配,如下总结实用的几个字段:
'下面分别用多个正则表达式匹配
'f1
'f2: 转债最新价
'f3: 涨跌幅
'f12: 转债代码
'f13
'f14: 转债名称
'f26: 上市日期
'f152
'f227: 纯债价值
'f228
'f229: 正股最新价
'f230: 正股涨跌幅
'f231
'f232: 正股代码
'f233
'f234: 正股名称
'f235: 转股价
'f236: 转股价值
'f237: 转股溢价率
'f238: 纯债溢价率
'f239: 回售触发价
'f240: 强赎触发价
'f241: 到期赎回价
'f242: 开始转股日
'f243: 申购日期
来看下最终效果:
用ExcelVBA下载可转债历史数据相关推荐
- 用ExcelVBA下载ETF历史数据
先看结果,视频演示送上:https://www.bilibili.com/video/BV1s8411P7s7/ 制作思路的话,基本还是从"找数据源--设计表格结构--网抓实现---数据处理 ...
- 用ExcelVBA下载股票板块历史数据
先看结果,视频演示送上:https://www.bilibili.com/video/BV1RD4y1J7Uw/ 制作思路的话,基本还是从"找数据源--设计表格结构--网抓实现---数据处理 ...
- 找到一个可以下载开放式基金历史数据的网站
http://www.dayfund.cn/ 查询后的历史数据不是分页显示,一个脚本就可以把基金历史数据全部提取出来. ======================================== ...
- 记一次用java从海康ISC下载rtsp历史数据过程
由于业务需要,需要从海康ISC中获取历史视频,但是查找了API只有一个获取历史RTSP的url的接口,但是这个rtsp的url用VLC播放不了,就尝试自己去抓包解析. 一.以下为用wireshark抓 ...
- python 股票数据下载_如何下载股票历史数据?
1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装.如果你用Python的目的是数据分析,可以直接安装Anacond ...
- java中切分字符串的方法
在我们日常工作中经常遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法. 方法一:通过split() 此方法返回的是一个字符串数组类型. 1.只传一个参数:split(String regex ...
- 从500彩票网站下载历史数据
#从500彩票网站下载双色球历史数据,网页另存为01.txt data = [] file = open('01.txt') for line in file:line = line.lstrip() ...
- Python画图实战之画K线图【附带自动下载股票数据】
关于Python画图的基本知识可以先查看下面这篇文章Python画图(直方图.多张子图.二维图形.三维图形以及图中图)https://blog.csdn.net/weixin_41896770/art ...
- Python 利用Baostock 下载股票代码,写入Mysql数据库
Baostock(证券宝)是一个免费.开源的证券数据平台(无需注册).详见点这里. 首先,用pip安装baostock.win+r输入cmd进入命令提示符界面.输入pip install baosto ...
最新文章
- 二分查找(循序渐进由0到1掌握二分)
- 【微信小程序】——实战开发之和风(含demo)
- bzoj3747 [POI2015]Kinoman
- node 版本升级_Node-RED: 自动化事件触发工具的安装与介绍
- Java工程师该如何编写高效代码?
- 【教程】E103-W10无线串口服务器TCP协议与PC连接收发数据详解!
- imageNamed和imageWithContentsOfFile-无法加载图片的问题
- mysql表空间自增_Oracle 默认表空间问题及自增变量设置
- Vue 动画 过渡的类名
- 开发APP不搞清楚这20个问题,必然沦为一场灾难
- 黄色叹号_平行进口车有质量问题?许多新车都有的黄色感叹号故障灯是什么?...
- 修改计算机设备管理器信息,电脑硬件信息更改器(牛B硬件信息修改大师)
- KMS激活工具 HEU_KMS_Activator_CH_v7.8.4
- 【STM32Cube_13】使用硬件I2C读写EEPROM(AT24C02)
- 微信小程序超链接跳转页面
- 第三方框架Masonry的基本使用
- 项目实战:如何构建知识图谱
- 云计算 | Gartner最新IaaS魔力象限详读
- JAVA C~K的班级
- 什么是顶级域名?有哪些分类?
热门文章
- 购买韩国服务器时有哪些方面需要注意?
- Github星标百万而霸榜的大厂面试避坑指南,成功帮我规避“毁约”
- DxfCode各枚举值意义
- crm开源代码crm源码_CRM触手可及
- 传奇服务器维护活力值怎么算,怎么办啊请问那个活力值是怎么搞的,我的活力 – 手机爱问...
- 十、获取人体骨骼关键点三维坐标——Azure Kinect DK入门
- 8100cpu可以装Linux系统,LattePanda推 864s 单板机:m3-8100Y+8GB内存,还能接GTX 1650
- 一篇文章教你完全掌握jni技术
- echarts滚动条配置
- 疫情失业之下,测试的未来在哪里