先看结果,视频演示送上: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下载可转债历史数据相关推荐

  1. 用ExcelVBA下载ETF历史数据

    先看结果,视频演示送上:https://www.bilibili.com/video/BV1s8411P7s7/ 制作思路的话,基本还是从"找数据源--设计表格结构--网抓实现---数据处理 ...

  2. 用ExcelVBA下载股票板块历史数据

    先看结果,视频演示送上:https://www.bilibili.com/video/BV1RD4y1J7Uw/ 制作思路的话,基本还是从"找数据源--设计表格结构--网抓实现---数据处理 ...

  3. 找到一个可以下载开放式基金历史数据的网站

    http://www.dayfund.cn/ 查询后的历史数据不是分页显示,一个脚本就可以把基金历史数据全部提取出来. ======================================== ...

  4. 记一次用java从海康ISC下载rtsp历史数据过程

    由于业务需要,需要从海康ISC中获取历史视频,但是查找了API只有一个获取历史RTSP的url的接口,但是这个rtsp的url用VLC播放不了,就尝试自己去抓包解析. 一.以下为用wireshark抓 ...

  5. python 股票数据下载_如何下载股票历史数据?

    1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装.如果你用Python的目的是数据分析,可以直接安装Anacond ...

  6. java中切分字符串的方法

    在我们日常工作中经常遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法. 方法一:通过split() 此方法返回的是一个字符串数组类型. 1.只传一个参数:split(String regex ...

  7. 从500彩票网站下载历史数据

    #从500彩票网站下载双色球历史数据,网页另存为01.txt data = [] file = open('01.txt') for line in file:line = line.lstrip() ...

  8. Python画图实战之画K线图【附带自动下载股票数据】

    关于Python画图的基本知识可以先查看下面这篇文章Python画图(直方图.多张子图.二维图形.三维图形以及图中图)https://blog.csdn.net/weixin_41896770/art ...

  9. Python 利用Baostock 下载股票代码,写入Mysql数据库

    Baostock(证券宝)是一个免费.开源的证券数据平台(无需注册).详见点这里. 首先,用pip安装baostock.win+r输入cmd进入命令提示符界面.输入pip install baosto ...

最新文章

  1. 二分查找(循序渐进由0到1掌握二分)
  2. 【微信小程序】——实战开发之和风(含demo)
  3. bzoj3747 [POI2015]Kinoman
  4. node 版本升级_Node-RED: 自动化事件触发工具的安装与介绍
  5. Java工程师该如何编写高效代码?
  6. 【教程】E103-W10无线串口服务器TCP协议与PC连接收发数据详解!
  7. imageNamed和imageWithContentsOfFile-无法加载图片的问题
  8. mysql表空间自增_Oracle 默认表空间问题及自增变量设置
  9. Vue 动画 过渡的类名
  10. 开发APP不搞清楚这20个问题,必然沦为一场灾难
  11. 黄色叹号_平行进口车有质量问题?许多新车都有的黄色感叹号故障灯是什么?...
  12. 修改计算机设备管理器信息,电脑硬件信息更改器(牛B硬件信息修改大师)
  13. KMS激活工具 HEU_KMS_Activator_CH_v7.8.4
  14. 【STM32Cube_13】使用硬件I2C读写EEPROM(AT24C02)
  15. 微信小程序超链接跳转页面
  16. 第三方框架Masonry的基本使用
  17. 项目实战:如何构建知识图谱
  18. 云计算 | Gartner最新IaaS魔力象限详读
  19. JAVA C~K的班级
  20. 什么是顶级域名?有哪些分类?

热门文章

  1. 购买韩国服务器时有哪些方面需要注意?
  2. Github星标百万而霸榜的大厂面试避坑指南,成功帮我规避“毁约”
  3. DxfCode各枚举值意义
  4. crm开源代码crm源码_CRM触手可及
  5. 传奇服务器维护活力值怎么算,怎么办啊请问那个活力值是怎么搞的,我的活力 – 手机爱问...
  6. 十、获取人体骨骼关键点三维坐标——Azure Kinect DK入门
  7. 8100cpu可以装Linux系统,LattePanda推 864s 单板机:m3-8100Y+8GB内存,还能接GTX 1650
  8. 一篇文章教你完全掌握jni技术
  9. echarts滚动条配置
  10. 疫情失业之下,测试的未来在哪里