vba 网页数据抓取(东方财富网“利用IE网络数据”的第三节)
优采云 发布时间: 2021-09-23 06:00vba 网页数据抓取(东方财富网“利用IE网络数据”的第三节)
各位好。今天,我们将在“VBA信息获取和处理”教程“使用IE捕获和解锁*敏*感*词*”中解释第九个主题“使用IE捕获网络数据”的第三部分。本主题是一个非常有用的知识点。我希望你能掌握它
第四节使用IE捕获提升的*敏*感*词*
大家好,本次讲座是关于利用IE捕捉东方财富网解禁数据的。使用方法与上节课基本相似。其目的仍然是向您展示一个在VBA中捕获数据的示例,并向您介绍更多实际场景,供您选择和使用
实际情况:我不太清楚解禁股票的概念,但很多玩股票的朋友都很关注。他们经常每天查看解禁股票的*敏*感*词*,以等待一些信息。他们要求ie提取关于取消网站股票禁令的信息,并将这些数据放在工作表中供其他人查看。所选网站为:/DXF/default.html,为东方财富网数据
1利用IE获取和解禁股票信息的思路分析
为了实现上述方案,让我们来看看上面网站提供的网页信息:
在上面的网页中,我想提取红色边框的表的数据。让我们分析一下这个想法:首先,创建一个IE对象,然后提取web文档,并从web文档中提取第三个表的数据。提取表数据时,可以模拟实际工作表的行-列循环,然后依次提取数据。在我之前的解释中,我提到了行。长度是指网页表和单元格的数量(J)。InnerText指的是单元格的内容。编写代码时应注意这两点
此外,我们将使用所有的方法。标记(“表”)(3))以获取Web文档表。此方法是一种非常模糊但易于使用的数据搜索方案,如前一解释所述。全部的标记(“标记名”):返回此类型标记的元素集合。在这里选择序号(3)指的是序列号为3的表的数据。对于innerText的概念,我们应该注意理解innerText指的是标签之间的纯文本信息
提取数据后,释放内存,这是我提出的方案
2利用IE捕获和解除股票信息禁令的代码实现
为了实现上述想法,我给出了以下代码:
Sub mynzb()'使用IE捕获提升的*敏*感*词*
Dim IE、dmt、tb、i&;、j&
设置ie=CreateObject(“Internet Explorer.Application”)'创建ie对象
图纸(“图纸3”)。选择
Cells.ClearComments
与IE
.visible=true“显示它
.navigate“/DXF/default.HTML”加载页面
直到.ReadyState=4'等待页面加载
多芬特
环路
Set DMT=.Document'将IE浏览器加载的页面文档分配给DMT变量
设置TB=dmt.all.tags(“table”)(3)'按索引号捕获表对象
对于I=0到tb.rows.length,通过其每一行执行-1'
对于J=0到TB.Rows(I).Cells.Length-1'通过每行中的每个单元格
单元格(I+1,j+1)=TB.Rows(I).Cells(j).InnerText'将其InnerText写入单元格
下一个
下一个
以
设置IE=无
设置dmt=Nothing
设置tb=无
MsgBox(“ok”)
端接头
代码说明:
1)SetIe=CreateObject(“Internet Explorer.Application”)创建对Ie的引用
2).Visible=True“显示它
.navigate“/DXF/default.HTML”加载页面
直到.ReadyState=4'等待页面加载
多芬特
环路
上面的代码使浏览器可见。加载网站/DXF/default.html,直到加载完成。Doevents是为了避免软崩溃
3)set DMT=.Document'将IE浏览器加载的页面文档分配给DMT变量
4)set TB=dmt.all.tags(“表”)(3)'通过索引号捕获表对象
5)ForI=0到tb.rows.length-1'通过其每一行
对于J=0到TB.Rows(I).Cells.Length-1'通过每行中的每个单元格
单元格(I+1,j+1)=TB.Rows(I).Cells(j).InnerText'将其InnerText写入单元格
下一个
下一个
将表中的数据提取到工作表中
6)Set IE=无
设置dmt=Nothing
设置tb=无
回收内存。对于回收内存的操作,我们建议您使用它。在数据库、字典、搜索等情况下也有类似的操作
代码截图:
通过上面的代码,我们可以完成我们的想法
3.利用IE获取和解禁股票信息的实施效果
当我们点击run按钮时,如图中箭头所示,程序将开始运行并将网页数据抓取到工作表中。当然,在实际应用中,用户可以根据自己的实际需要将抓取工作完成到指定的位置
以验证我们思维的正确性
回到本节中的知识点:如何提取页面文档中指定表的数据
有关本节内容,请参阅009工作表.xlsm
构建块编程的思想和内涵:
在我的系列书籍中,我一直强调“积木”的编程思想,这也是学习和使用VBA的主要方法,尤其是对于专业人士而言。其主要内涵是:
1.不要自己输入所有代码。你要做的是将构建块放在正确的位置,然后更正代码。一定要复制它,从构建块库复制它,然后更正代码,以便利用你的时间进行有效思考
2.建立你自己的“积木库”。在学习过程中,把你认为有用的代码放在一起,积累更多,你可以在任何时候使用它。积木库中的信息越多,你在制作程序时的想法就越多
VBA的应用定义
VBA是利用office实现个人小型办公自动化的有效手段(工具)。这是我对VBA应用的定义。在取代office的新办公软件到来之前,谁能在数据处理方面取得最好成绩,谁就是王者。其中,VBA是最强大的技能
我记得20年前我第一次学习VBA时,材料很少。我只能看源代码,自己思考。这真的很难。20年后,为了不让我的朋友学习VBA重复我以前的经验,我在多年实践VBA的基础上开设了六门VBA特别课程经验:
第一套:VBA代码解决方案是解释VBA中的各种知识点。本教程共有147节课,涵盖了绝大多数VBA知识点,这是初学者所必需的
第二套:VBA数据库解决方案数据库是数据处理的专业工具,本教程详细介绍了用ADO连接accdb和excel的方法和示例操作,适合中级人员使用
第三套:VBA数组和字典解决方案数组和字典是VBA的精髓。字典是提高VBA代码水平的有效手段,值得深入学习。它是高级和中级人员代码的一种手段
第四套:VBA代码解决方案视频是针对初学者的视频讲解,可以快速入门,更快掌握这项技能。这套教程是第一套教程的视频讲解,更容易听元音
第五套:VBA中的课堂解读与运用。这是一门解释课堂虚无和肉体程度的高级课程。虽然课堂运用较少,但认真学习可以促进自身VBA理论的完善。对这套课程的理解主要是对f读者与一种佛教哲学
第六套教程:VBA信息获取与处理,这是一门高级课程,涵盖范围更广,对中高级人员更实用。该课程有20个主题,包括:跨应用程序信息获取、随机信息的利用、电子邮件发送、VBA Internet数据捕获、VBA delay操作、剪贴板应用程序、拆分功能扩展、工作表信息与其他应用程序的交互、FSO对象的使用、工作表和文件夹信息获取、图形信息获取和自定义工作表信息功能等
根据以上信息,您可以按照1的顺序逐步学习→ 3.→ 2.→ 6.→ 5或4→ 3.→ 2.→ 6.→ 5.本教程提供了说明和大量构建块。如果需要,您可以微信:nz9668
学习VBA是一个过程,也需要经历一种无聊的感觉
正如太白的诗所说:鸟儿高飞,寂寞的云朵独自消遣。你们不会厌倦彼此的相见,只有静亭山。学习的过程也是培养心灵的过程,培养一颗平静的心。在密码的世界里,当你的心灵平静时,你的身体自然会很好。当你平静时,你会很好没错。如果你心里没有那么多邪恶的知识和观点,你就不会有那么多的错觉。对别人有益是自利。这些教程也是为了帮助你启航和帮助我。我的上面