提取网页内容算法-利用QueryTables提取网页数据的基础

大家好提取网页内容算法,我们今日讲解"VBA信息获取与处理"教程中第十个专题"利用QueryTables抓取网络数据"的第一节"利用QueryTables提取网页数据的基础",这个专题是非常有用的知识点,希望大家掌握。

提取网页内容算法-利用QueryTables提取网页数据的基础

大家好,我们开始第十个专题的学习,这个专题是网抓数据的最后一个专题,希望大家能有所学习的收获。

提取网页内容算法-利用QueryTables提取网页数据的基础

对于网抓数据,在这套教程中一共介绍了三种方法,第一是利用XML完成网抓数据,第三就是本专题的利用QueryTables抓取网络数据。这三种方法大家可以有所选择的利用。有一点和大家声明,对于利用VBA达到抓取网络数据,我一直认为这不是VBA的所长,但可以完成,并借助于excel来处理数据。寄生语言的存在有着自己独特的优点,就如同世界上任何寄生的生物一样。

提取网页内容算法-利用QueryTables提取网页数据的基础

提取网页内容算法-利用QueryTables提取网页数据的基础

第一节 利用QueryTables提取网页数据的基础QueryTables法,是excel自带的方法,和xml或POST方式发送请求,然后得到服务器的response返回到单元格内。

优点:excel自带,可以通过录制宏得到代码,处理table很方便。代码简短,适合快速获取一些存在于源代码的table里的数据。处理table方便,代码简短。

缺点:无法模拟referer等发包头。

我们在这节中要来简单认识一下QueryTables。

1 QueryTables对象QueryTable对象代表一个利用从外部数据源(如SQL Server、Microsoft Access数据库、网络数据等)返回的数据生成的工作表表格。

QueryTable对象是QueryTables集合的成员。

2 QueryTables方法1)QueryTables.Add 方法,使用QueryTables集合对象的Add方法可新建一个查询表。

语法: 表达式.Add(Connection, Destination, Sql)

参数:表达式:一个表示查询表对象的变量。

Add:新建一个查询表。

Connection:Varian,是查询表的数据源。查询表的数据源。可为连接数据库的连接字符串,也可以是一个Web查询。Web查询字符串的格式如下:URL;<url>其中"URL;"是必需的,字符串的其余部分作为Web查询的URL。

Destination:必需 Range查询表目标区域 (查询结果表放置的区域) 左上角中的单元格。目标区域必须在工作表中包含表达式所指定的查询表对象。

Sql:在 ODBC 数据源上运行的 SQL 查询字符串。当使用的数据源为 ODBC 数据源时,该参数可选(如果不在此处指定该参数,则应该在查询表刷新之前使用查询表的 Sql 属性进行设置)。当将 QueryTable 对象、文本文件、ADO 或 DAO Recordset 对象指定为数据源时,不能使用该参数。

2) Refresh方法 使用QueryTable对象的Refresh方法可更新外部数据区域(QueryTable)。该方法的语法格式如下:表达式.Refresh(BackgroundQuery)

参数BackgroundQuery如果为True,则在数据库建立连接并提交查询之后,将控制返回给过程,QueryTable在后台进行更新。如果为False,则在所有数据被取回到工作表之后,将控制返回给过程。如果没有指定该参数,则由BackgroundQuery属性的设置决定查询模式。

在Excel建立一个成功的连接之后,将存储完整的连接字符串,这样,以后在同一编辑会话中调用Refresh方法时就不会再显示提示。通过检查Connection属性的值可以获得完整的连接字符串。

如果成功地完成或启动查询,则Refresh方法返回True;如果用户取消连接或参数对话框,该方法返回False。

注意:直到调用Refresh 方法时,由该方法创建的查询不运行。

3) QueryTables.Item 方法 从集合中返回一个对象。

语法:表达式.Item(索引)

参数:

表达式:一个表示查询表对象的变量。

Index 必需 Variant 对象的名称或索引号。

返回值: 包含在集合中的一个 QueryTable 对象。

3 QueryTables属性1) QueryTables.Application 属性 当使用不指定对象识别符的情况下,此属性将返回一个Application 对象,表示 Microsoft Excel 应用程序。如果使用对象识别符,本属性返回一个代表指定对象 (可对一个 OLE 自动化对象使用该属性来返回该对象的应用程序) 创建者的Application对象。只读.

2) QueryTables.Count 属性 返回long 类型的值,该值代表集合中对象的数目。

语法: 表达式 .Count

3) QueryTables.Creator 属性 返回一个 32 位整数,它指示在其中创建此对象的应用程序。只读的long 类型的值。

语法: 表达式 .Creator

表达式 一个表示查询表对象的变量。

如果该对象是在 Microsoft Excel 中创建的,则此属性返回字符串 XCEL,它等同于十六进制的数字 5843454C。Creator 属性是为 Macintosh 上的 Microsoft Excel 设计的,在 Macintosh 上,每个应用程序都具有一个四字符的创建者代码。例如,Microsoft Excel 的创建者代码为 XCEL。

3) QueryTables.Parent 属性 返回指定对象的父对象。只读的。

语法: 表达式 .Parent

好了,关于QueryTables的基本讲解就到这里,下节开始我们的具体应用。

本节知识点回向:QueryTables的属性和方法有哪些?

积木编程的思路内涵:在我的系列书籍中一直在强调"搭积木"的编程思路,这也是学习利用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信息获取与处理》,这是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。

大家可以根据以上资料1→3→2→6→5或者是4→3→2→6→5的顺序逐渐深入的逐渐学习。教程提供讲解的同时提供了大量的积木,如需要可以WeChat: NZ9668

学习VBA是个过程,也需要经历一种枯燥的感觉如太白诗云:众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山。学习的过程也是修心的过程,修一个平静的心。在代码的世界中,心平静了,心情好了,身体自然而然就好。心静则正,内心里没有那么多邪知邪见,也就没有那么多妄想。利人就是利己。这些教程也是为帮助大家起航,助上我自己之力,我的上述教程是我多的经验的传递,

"水善利万物而不争",绵绵密密,微则无声,巨则汹涌。学习亦如此,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里,待到暮年时再去做自欺欺人的言论。要努力提高自己,用一颗充满生机的心灵,把握现在,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。茶,满也好,少也好,不要计较;浓也好,淡也好,其中自有值得品的味道。去感悟真实的时间,静下心,多学习,积累福报。而不是天天混日子,也不是天天熬日子。在后疫情更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。学习时微而无声,利用时则巨则汹涌。

每一分收获都是成长的记录,怎无凭,正是这种执着,成就了朝霞的灿烂。最后将一阙词送给致力于VBA学习的朋友,让大家感受一下学习过程的枯燥与执着:

浮云掠过,暗语无声,

唯有清风,惊了梦中啼莺。

望星,疏移北斗,

奈将往事雁同行。

阡陌人,昏灯明暗,

忍顾长亭。

多少VBA人,

暗夜中,悄声寻梦,盼却天明。

怎无凭!

回向学习利用VBA的历历往事,不胜感慨,谨以这些文字给大家,分享我多年工作实际经验的成果,随喜这些有用的东西,给确实需要利用VBA的同路人。

分享成果,随喜正能量

本文来自网络,不代表唯米智能立场,转载请注明出处。如有侵权请联系删除。http://www.weiseo.cc/b/2614.html

作者: 小易

上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 2013723@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部
在线客服系统