vba抓取网页数据(VBA信息获取与处理教程中第十个专题“利用QueryTables抓取网络数据”)
优采云 发布时间: 2021-09-13 23:02vba抓取网页数据(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 的旅行者有用的东西。