[ahk]定时获取上证指数成交量

54 篇文章 29 订阅
31 篇文章 4 订阅

定时获取上证指数成交量

本文展示AutoHotkey爬取网页的能力。
随时随地热键获取最新上证指数


爬网页

 WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
 WebRequest.Open("GET", "http://yunhq.sse.com.cn:32041/v1/sh1/list/self/000001?select=name%2Clast%2Camount")
 WebRequest.Send()
 result := WebRequest.ResponseText

结果形式

;{“date”:20171026,“time”:151500,“total”:1,“begin”:0,“end”:1,“list”:[[“上证指数”,3407.567,238596126821]]}

解析

 o:=json2obj(result)
 date:=o.date
 time:=o.time
 name:=o.list.0.0
 last:=o.list.0.1
 amount:=o.list.0.2

###格式化

 last:=Round(last,2)
 amount:= Round(amount/100000000,2)
 time:=SubStr("0000000000" . time, -5) 
 FormatTime,time,%date%%time%,HH:mm

输出

 ToolTip, 【%name%】`n当前价: %last%`n成交量: %amount%亿元`n更新时间: %time%
 Sleep,3000

 ;~ 辅助函数
 json2obj(s){
     static parse:=comobjcreate("scriptcontrol")
     parse.language:="jscript"
     return parse.eval("(" s ")")
 } 

完整代码:

 ;~ 爬网页
 WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
 WebRequest.Open("GET", "http://yunhq.sse.com.cn:32041/v1/sh1/list/self/000001?select=name%2Clast%2Camount")
 WebRequest.Send()
 result := WebRequest.ResponseText
 
 ;~结果形式
 ;~ {"date":20171026,"time":151500,"total":1,"begin":0,"end":1,"list":[["上证指数",3407.567,238596126821]]}
 
 ;~ 解析
 o:=json2obj(result)
 date:=o.date
 time:=o.time
 name:=o.list.0.0
 last:=o.list.0.1
 amount:=o.list.0.2
 
 ;~ 格式化
 last:=Round(last,2)
 amount:= Round(amount/100000000,2)
 time:=SubStr("0000000000" . time, -5) 
 FormatTime,time,%date%%time%,HH:mm
 
 ;~ ; 输出
 ToolTip, 【%name%】`n当前价: %last%`n成交量: %amount%亿元`n更新时间: %time%
 Sleep,3000
 
 ;~ 辅助函数
 json2obj(s){
     static parse:=comobjcreate("scriptcontrol")
     parse.language:="jscript"
     return parse.eval("(" s ")")
 } 

热键请自行定义。可以定时获取,并输出到Excel中存储,以便用强大Excel工具来分析。

更新,增加定时获取能力,每半小时一次(参考cron语法):
定时获取上证成交量

这个表达式,表示在以下时间执行:
9:01
9:31
10:01
10:31
11:01
11:31
13:01
13:31
14:01
14:31
15:01
15:31
定时获取上证成交量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值