vba 网页数据抓取(东方财富网“利用IE网络数据”的第三节)

优采云 发布时间: 2021-09-23 06:00

  vba 网页数据抓取(东方财富网“利用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&amp

  设置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是一个过程,也需要经历一种无聊的感觉

  正如太白的诗所说:鸟儿高飞,寂寞的云朵独自消遣。你们不会厌倦彼此的相见,只有静亭山。学习的过程也是培养心灵的过程,培养一颗平静的心。在密码的世界里,当你的心灵平静时,你的身体自然会很好。当你平静时,你会很好没错。如果你心里没有那么多邪恶的知识和观点,你就不会有那么多的错觉。对别人有益是自利。这些教程也是为了帮助你启航和帮助我。我的上面

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线