excel vba 网页数据抓取 IE抓取资金主力流入的股票
优采云 发布时间: 2022-04-29 03:09excel vba 网页数据抓取 IE抓取资金主力流入的股票
【分享成果,随喜正能量】做人,要像一杯水。无色则纯,只要心里清澈,世事皆易;无味则淡,只要心里明了,万物皆空;无欲则刚,只要心里释然,一切皆无。。《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。教程共两册,八十四讲。今日的内容是专题九“利用IE抓取网络数据”:IE抓取资金主力流入的股票
第二节 利用IE,抓取资金主力流入的股票大家好,我们从这讲开始讲利用IE控件完成抓取网络数据的任务,由于基础知识已经讲解了很多,这里的代码讲解会简单些,大家可以参考我给出的代码注释进行理解。
实*敏*感*词*的动向是我们最为关心的,是否有大的资金流入是大多数散户进行某支股票投资的重要依据。我们以财富网提供的资金主力流入的*敏*感*词*为数据提取的基础。网址是: 。1 应用IE实*敏*感*词*主力流入数据抓取的思路分析为了抓取数据,我们先看看网页页面,下面是2020年6月11日网页提供的数据:
我们的任务是要把上述数据抓取到EXCEL表格中。为了实*敏*感*词*主力流入数据抓取的代码实现为了实现上述的思路,我给出如下我的代码:
Sub myNZ() '利用IE,抓取财富网资金主力流入的股票Dim ie, dmt, tb, i&, j& SetmyIE = CreateObject("InternetExplorer.Application") '创建一个IE对象 Sheets("SHEET1").Select Rows("3:100").ClearContents WithmyIE .Visible= True '显示它 .navigate"" '加载东风财富网资金主力流入情况 DoUntil .readystate = 4 '检查网页是否加载完毕(4表示完全加载) DoEvents '循环中交回工作权限给系统,以免"软死机" Loop Setdmt = .document '将IE浏览器加载的页面文档,赋予dmt变量 Settb = dmt.all.tags("table")(5) '通过索引号捕捉表格对象 Fori = 2 To tb.Rows.Length - 1 '历遍其每个行 Forj = 0 To tb.Rows(i).Cells.Length - 1 '历遍每行的每个单元格 Cells(i+ 1, j + 1) = "'" & tb.Rows(i).Cells(j).innertext '将其innertext写入单元格 Next Next EndWith MsgBox("OK")End Sub代码截图:
代码分析:1)Set myIE = CreateObject("InternetExplorer.Application") 这段代码是创建一个IE对象,或者叫后期的绑定。引用都可以。2) Sheets("SHEET1").SelectRows("3:100").ClearContents清空数据待填区域。3) With myIE .Visible= True '显示它 .navigate"" 上述代码在IE中加载"" 网址,即东风财富网资金主力流入情况。4) Do Until .readystate = 4 '检查网页是否加载完毕(4表示完全加载) DoEvents '循环中交回工作权限给系统,以免"软死机" Loop 这段代码是让网页加载完成,以便后续提取网页的数据5)Set dmt = .document '将IE浏览器加载的页面文档,赋予dmt变量,这里的DMT是一个对象变量。6) Set tb = dmt.all.tags("table")(5) '通过索引号捕捉表格对象 这里的序号是我们分析网页得来,也可以利用工具进行网页的页面分析。7)For i = 2 To tb.Rows.Length - 1 '历遍其每个行 Forj = 0 To tb.Rows(i).Cells.Length - 1 '历遍每行的每个单元格 Cells(i+ 1, j + 1) = "'" & tb.Rows(i).Cells(j).innertext '将其innertext写入单元格 Next Next提取表的数据,这里tb.Rows.Length – 1 是行数;tb.Rows(i).Cells(j).innertext 是单元格的内容。3 应用IE实*敏*感*词*主力流入数据抓取的实现效果我们点击页面的运行按钮,实现下面的数据抓取:
从实现的效果看,完全达到了我们场景需求。
本节知识点回向:如何在页面文档中提取表的数据?
本节内容参考:009工作表.xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
【分享成果,随喜正能量】从来茶倒七分满,留下三分是人情。半人半我半自在,半醒半醉半神仙。半亲半爱半苦乐,半俗半禅半随缘。人生,其实是很公平的。在哪里付出,就在哪里得到;在哪里打磨,就在哪里闪耀。。