vba抓取网页数据(VBA信息获取与处理教程中第十个专题“利用QueryTables抓取网络数据”)

优采云 发布时间: 2021-09-13 23:02

  vba抓取网页数据(VBA信息获取与处理教程中第十个专题“利用QueryTables抓取网络数据”)

  大家好,今天我们讲解《VBA信息获取与处理》教程中的第十题“使用QueryTables捕获网络数据”。有用的知识点,希望你能掌握。

  第二节 使用QueryTables提取在售理财项目的网页数据

  大家好,本教程讲解了使用QueryTables抓取网页数据的具体应用。有了上一讲的基本讲解,我们就可以直接使用这些方法来达到目的了。

  实际场景:使用QueryTables抓取和讯网在售理财项目的数据。该网站是:/lccp/jrxp.aspx。现在的社会,不管是股票还是理财产品,关注的人很多,都希望在资本市场运作中分得一杯羹,但是投资赚钱的时候一定要慎重。不要被高利润诱惑。 I 只能为您提供基本的数据积累,没有丝毫的操作经验。

  1 使用QueryTables实现捕捉在售理财项目数据的思路分析

  为了实现上述场景,我们来看看上面提供的网站提供的信息:

  

  在上面的网页中,我要提取的是红框表格中的数据。来分析一下思路:先清空回填数据的区域,然后使用QueryTables.Add方法提取网页第三张表的数据即可。提取表格数据时,可以选择填写格式。

  2 使用QueryTables实现在售理财项目数据抓取的代码实现

  为了实现上面的想法,我给出了如下代码:

  Sub myNZ()'QueryTable方法提取在售理财项目网页数据

  Sheets("sheet1").选择

  Cells.ClearContents

  使用 ActiveSheet.QueryTables.Add("url;/lccp/jrxp.aspx", Range("a1"))

  .WebFormatting = xlWebFormattingNone'不收录格式

  .WebSelectionType = xlSpecifiedTables'指定表格模式

  .WebTables = "3"'第三个表

  .刷新错误

  结尾

  MsgBox ("OK")

  结束子

  代码截图:

  

  代码说明:

  1) Sheets("sheet1").选择

  Cells.ClearContents

  以上代码清除了数据的回填区。

  2)With ActiveSheet.QueryTables.Add("url;/lccp/jrxp.aspx", Range("a1"))

  以上代码指定加载URL /lccp/jrxp.aspx的数据,Range("a1")是工作表区域左上角单元格的回填。

  3).WebFormatting = xlWebFormattingNone'不包括格式

  WebFormatting为要导入的工作表的格式设置,具体取值如下:

  xlWebFormattingAll 1 导入所有格式。

  xlWebFormattingNone 2 不导入任何格式。

  xlWebFormattingRTF 3 导入格式文本格式兼容格式。

  4).WebSelectionType = xlSpecifiedTables'指定表格模式

  WebSelectionType 是指定是设置整个网页、网页上的所有表,还是只设置导入查询表的特定表的数据。其具体值如下:

  xlAllTables2 所有表

  xlEntirePage1 整页

  xlSpecifiedTables3 指定表

  5).Refresh False 使用 QueryTable 对象的 Refresh 方法更新外部数据区(QueryTable)。如果所选参数为False,则在将所有数据检索回工作表后,将控制权返回给流程

  通过上面的代码,我们就可以完成我们的想法了。

  3 使用QueryTables实现捕捉在售理财项目数据的效果

  当我们点击运行按钮时,如图中箭头所示,程序将开始运行并将网页数据抓取到工作表中。当然,在实际应用中,用户可以根据自己的实际需要完成抓取工作到指定位置。

  

  从而验证了我们思路的正确性。从代码到实现的过程非常简洁,代码理解也非常容易,给我们的学习和使用带来了方便。

  返回本节知识点:如何使用QueryTables从网页中获取数据?

  参考本节内容:010 worksheet.xlsm

  

  积木式编程的内涵:

  在我的系列丛书中,我一直在强调“积木”的编程思想。这也是学习使用VBA的主要方法,尤其是专业人士。其主要内涵:

  1 不要自己输入所有代码。您要做的就是将构建块放在正确的位置,然后修改代码。一定要复制,从你的积木库中复制,然后修改代码,以利用你的时间进行高效思考。

  2 建立自己的“积木库”。平时在学习的过程中,把自己觉得有用的代码拼凑起来,多积累一些,用到的时候随时可以拿到。您的积木库中的数据越多,您的编程想法就越广泛。

  

  VBA 的应用定义

  VBA是使用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA应用的定义。在取代OFFICE的新办公软件到来之前,谁能做到数据处理的极致才是王道。其中,技能的顶峰非VBA莫属!

  记得20年前刚开始学VBA的时候,当时资料很少,只能自己看源码自己弄明白。这真的很困难。二十年过去了。为了不让学VBA的朋友重复我之前的经验,根据我多年VBA的实际使用,特推出6个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人工客服


线