原标题:VBA在线掌握库存历史数据
文章来源于网络,若有侵权,请联系我们删除。
【分享成果,随喜正能量】学会宽容,严以律己,宽以待人。对自己,不要太放纵,对别人,不要太苛刻。人与人之间都是相互的,如果你自己做不到,就没有理由去过分要求别人。在努力做好自己的同时,学会给别人多一些宽容,世界会因此变得更加温暖。。
《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。教程共两册,八十四讲。今日的内容是专题六“VBA中利用XMLHTTP完成网抓数据”的第7讲:VBA网抓股票历史数据
怎样把股票的涨幅导出成表格(网络配图 侵删)
第七节利用XMLHTTP抓取网易财经股票历史数据
实现场景:从网页的数据中提取给定股票的信息到EXCEL表格中,这些信息包括某一段时间的开盘价、最高价、最低价、收盘价、涨跌额、涨跌幅(%)%u3001成交量(手)、成交金额(万元)、振幅(%)%u3001换手率(%)%u3002如下图,要提取出“601899”股票的20年第二季度的数据。
怎样把股票的涨幅导出成表格(网络配图 侵删)
1应用XMLHTTP实现网抓股票数据的思路分析
我们首先仍是建立应用CreateObject("MSXML2.XMLHTTP")和CreateObject("htmlfile")第二个应用用于处理提取出来的网页数据,然后我们在“网易财经”的网址上抓取数据
网易财经”的网址:http://quotes.money.163.com/trade/lsjysj_"&股票名称。
抓取时利用.Open"GET",strURL,False及.send的命令,数据返回时将.responseText赋给第二个引用innerHTML属性。innerHTML属性返回表格行的开始和结束标签之间的HTML。
提取完数据后我们利用循环语句来提取数据。
在循环语句中我们要有行和列的区分,逐一提取行列的数据。在网页表格处理的时候,我们可以利用遍历的方法。可以用类似于工作表的行:Rows,单元格:Cells的表述方案。
最后要记得内存的释放。
2应用XMLHTTP实现网抓股票数据的代码实现
下面我们看实现上述思路的代码部分,我直接给出了我的代码:
SubmyNZE()'网易财经股票历史数据的抓取
[代码见教程]
EndSub
代码截图:
怎样把股票的涨幅导出成表格(网络配图 侵删)
怎样把股票的涨幅导出成表格(网络配图 侵删)
代码解读:
1)SetobjXMLHTTP=CreateObject("MSXML2.XMLHTTP")
SetobjDOM=CreateObject("htmlfile")
上述代码建立了两个引用。
2)GPCode=Cells(1,4).Value
GPY=Cells(2,4).Value
GPJ=Cells(3,4).Value
上述代码提取股票的名称,历史数据的年,季度。
3)strURL="http://quotes.money.163.com/trade/lsjysj_"&GPCode
strURL=strURL&".html?year="&GPY
strURL=strURL&"&season="&GPJ
建立网址的代码。
4)WithobjXMLHTTP
.Open"GET",strURL,False
.send
objDOM.body.innerHTML=.responseText
EndWith
上述代码从网页中提取数据,并将数据赋值给objDOM.body.innerHTML,objDOM是我们建立的第二个引用对象。
5)ForEachobjTRInobjTable.Rows
HRow=HRow1
LCol=0
ForEachobjCellInobjTR.Cells
LCol=LCol1
Cells(HRow4,LCol)=objCell.innerText
NextobjCell
Next
上述代码是从("TABLE")(3)中提取数据到工作表中。
6)SetobjXMLHTTP=Nothing
SetobjDOM=Nothing
SetobjTable=Nothing
SetobjTR=Nothing
SetobjCell=Nothing
上述代码是释放内存。
3应用XMLHTTP实现网抓股票数据的实现效果
最后,我们点击运行按钮,看看随后的实现效果:
怎样把股票的涨幅导出成表格(网络配图 侵删)
将这种数据提取到工作表中后,我们就可以做数据分析处理了。确实,我们在股票分析的时候也非常需要这种数据的提取。
本节知识点回向:
怎样提取网页股票的历史数据到工作表中?这种方案和之前的哪节知识点类似?
本讲参考程序文件:006工作表.XLSM
怎样把股票的涨幅导出成表格(网络配图 侵删)
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
怎样把股票的涨幅导出成表格(网络配图 侵删)
【分享成果,随喜正能量】:学会高傲,任何时候,都不要妄自菲薄。你要知道,世界不会放弃你,只有你会放弃自己。每一个女人都要适当保持高傲,这并不是过分看高自己,而是给自己一份自信和勇气。毕竟,这个世界,对女人来说,总还是有点不够温柔。