vba 网页数据抓取(外汇课堂:利用IE控件完成网络数据的任务(图))

优采云 发布时间: 2022-04-13 21:04

  vba 网页数据抓取(外汇课堂:利用IE控件完成网络数据的任务(图))

  大家好,今天我们将讲解《VBA信息获取与处理》教程第九题“使用IE捕获网络数据”的第二节。这个话题非常有用。知识点,希望大家能掌握。

  第二部分用IE捕捉资金主要流入的个股

  大家好,下面开始使用IE控件来完成抓取网络数据的任务。由于基础知识已经解释了很多,这里的代码解释会比较简单。大家可以参考我给出的代码注释来理解。

  实*敏*感*词*的动向。是否有大量资金流入是大部分散户投资某只股票的重要依据。我们以财富网提供的主要资金流入存量数据作为数据提取的基础。该网站是:。

  1 使用IE实*敏*感*词*流入数据捕获的思路分析

  为了抓取数据,我们先来看网页。以下是2020年6月11日网页提供的数据:

  

  我们的任务是将上述数据捕获到 EXCEL 表中。为了使用 IE 进行数据捕获,我们必须首先创建一个 IE 引用 CreateObject("InternetExplorer.Application")。然后IE打开给定的URL,.navigate""从网页中实现表号为5,然后将这个表中的数据提取出来。你可以回顾一下我之前关于表格的知识。从 web 文档中提取文档对象,使用 dmt.all.tags("table")(5) 找到这个表,然后使用 tb.Rows(i) .Cells(j).innertext 输出数据。

  2 应用IE实*敏*感*词*流转入数据抓取的代码实现

  为了实现上述思路,我给出如下代码:

  Sub myNZ() '用IE捕捉Fortune Net旗下资金的主要流入股

  昏暗 ie, dmt, tb, i&, j&

  Set myIE = CreateObject("InternetExplorer.Application") '创建一个 IE 对象

  工作表(“SHEET1”)。选择

  行(“3:100”)。清除内容

  用我的IE

  .Visible = True '显示它

  .navigate ""'加载东风财富网主要资金流入情况

  Do Until .readystate = 4 '检查页面是否加载(4表示完全加载)

  DoEvents '在循环中将工作权限返回给系统,避免“软崩溃”

  环形

  set dmt = .document ' 将IE浏览器加载的页面文档赋值给dmt变量

  set tb = dmt.all.tags("table")(5) '通过索引号捕获表对象

  For i = 2 To tb.Rows.Length - 1 '遍历每一行

  For j = 0 To tb.Rows(i).Cells.Length - 1 '遍历每行中的每个单元格

  Cells(i + 1, j + 1) = "'" & tb.Rows(i).Cells(j).innertext '将其内部文本写入单元格

  下一个

  下一个

  结束于

  消息框(“确定”)

  结束子

  代码截图:

  

  代码分析:

  1)Set myIE = CreateObject("InternetExplorer.Application") 这段代码是创建一个IE对象,或者后期绑定。引用很好。

  2) 工作表("SHEET1").Select

  行(“3:100”)。清除内容

  清除要填充的数据区域。

  3) 使用 myIE

  .Visible = True '显示它

  .导航“”

  以上代码加载IE中的“”URL,即东风财富网的主要资金流入。

  4) Do Until .readystate = 4 '检查页面是否加载完毕(4表示完全加载)

  DoEvents '在循环中将工作权限返回给系统,避免“软崩溃”

  环形

  这段代码是为了让页面加载完成,以便以后可以提取页面的数据

  5)Set dmt = .document '将IE浏览器加载的页面文档赋值给dmt变量,其中dmt是一个对象变量。

  6) set tb = dmt.all.tags("table")(5) '通过索引号捕获table对象,这里的序号是我们对网页的分析得到的,你也可以使用工具来分析网页。

  7)For i = 2 To tb.Rows.Length - 1 '遍历每一行

  For j = 0 To tb.Rows(i).Cells.Length - 1 '遍历每行中的每个单元格

  Cells(i + 1, j + 1) = "'" & tb.Rows(i).Cells(j).innertext '将其内部文本写入单元格

  下一个

  下一个

  提取表的数据,其中tb.Rows.Length - 1为行数;tb.Rows(i).Cells(j).innertext 是单元格的内容。

  3 应用IE实*敏*感*词*主流入和数据抓取的变现效果

  我们点击页面的运行按钮,实现如下数据抓取:

  

  从实现的效果来看,完全满足我们场景的需求。

  回到本节知识点:如何提取页面文档中表格的数据?

  本节参考:009 worksheet.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理论的提高。对这套课程的领悟,主要是读者的领悟,对一种佛教哲学的领悟。

  第六套教程:《VBA信息获取与处理》,这是一个高级教程,涵盖范围更广,实用性更强,面向中高级人员。教程共有20个主题,包括:跨应用信息获取、随机信息的使用、邮件发送、VBA上网数据抓取、VBA延时操作、剪贴板应用、Split功能扩展、工作表信息等应用交互、FSO的使用对象,获取工作表和文件夹信息,获取图形信息,自定义工作表信息等功能。

  您可以按照1→3→2→6→5或4→3→2→6→5的顺序根据以上信息逐步深入学习。教程提供讲解并提供大量积木,如有需要可以微信:NZ9668

  

  学习VBA是一个过程,也需要体验一下枯燥的感觉

  如太白诗云:百鸟高飞,孤云独闲。相见不厌,唯有敬亭山。学习的过程也是修心的过程,修心平和。在码字的世界里,心静,心情好,身体自然就好。当心平静时,它是正义的。心中没有那么多的邪见邪见,也没有那么多的妄想。利益他人就是利益自己。这些教程也是为了帮助你起航,帮助我。我上面的教程是我经验的传递。

  “水无争,万物皆好。” 学习也是如此,知道自己需要什么,不蜷缩在世界的一小块认为自己是天堂的地方,以及自欺欺人的言论直到年老。努力提高自己,以充满活力的精神把握现在,这就是进步。越有意义的事情,就越难。意愿决定一切,智慧决定成败。无论遇到什么,都是风景。看不起纠纷,看不起得失。不管是满的还是小的,都不愁茶;不管是浓还是淡,都有自己值得品尝的味道。感受真实的时间,静下心来,多了解,积福报。与其天天闹着玩,不如天天过日子。在杀鸡更严重的后疫情世界,储备知识,尤其是新知识,为自己生存。学习时是渺小而无声的,使用时是巨大而汹涌的。

  每一次收获都是成长的记录。怎么可能没有证据?正是这种执着,让晨曦绽放出灿烂的光芒。最后,给致力于VBA学习的朋友一句话,让大家感受一下枯燥而执着的学习过程:

  乌云掠过,暗语无声,

  只有微风,惊动了梦中的莺。

  看星星,疏散北斗七星,

  钦奈将与过去的鹅一起去。

  陌生人,昏暗的灯光,

  忍着长亭。

  多少VBA人,

  在漆黑的夜里,静静地寻找梦想,期待黎明。

  多么不合理!

  回到学习和使用VBA的经历,很感慨。我想用这些话与大家分享我多年实际工作经验的成果。我想把这些有用的东西分享给真正需要使用 VBA 的旅友。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线