VBA处理网页基础二.docx
- 文档编号:9231737
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:32
- 大小:892.83KB
VBA处理网页基础二.docx
《VBA处理网页基础二.docx》由会员分享,可在线阅读,更多相关《VBA处理网页基础二.docx(32页珍藏版)》请在冰豆网上搜索。
VBA处理网页基础二
VBA的WEB应用系列教程——HTML文档篇
上节课,我们说了HTTP通讯,HTTP通讯一般情况返回的是啥呢?
是页面的源代码。
例如,我们访问XX,返回了,“
doctypehtml>…”一大堆东西。
就是,我们在页面点击右键,“查看页面源文件”,如图:
我们的浏览器,正是把这堆源代码,翻译成我们可视的生动地页面的。
就像VBA一样,这堆代码是什么语言呢,就是通常所说的,超文本标记语言。
为啥叫标记语言,因为它只能用于展示,展示我们所看到的网页页面。
不是编程语言哦。
为啥叫超文本呢,大家仔细看,这堆源代码有什么特征呢,就是有很多<…>这样的文本,一般而言,我们把<…>叫做标签,细心的同学可以发现,标签都是成对出现的,例如“
第一个叫做开始标签,第二个多带了个/叫结束标签。
标签之间就是网页的文本,例如这个例子,就是我们网页标题的文本“XX一下,你就知道”。
所以,标签的作用就是,给文本打上标记,告诉浏览器,怎么显示这个文本。
例如本例,要求浏览器把“XX一下,你就知道”显示成网页的标题。
HTML文档=文本+标签,所以就超文本啦。
总之,HTML就是用来描述网页的语言,像上面所说的
我们的教程,并不是为了教大家,怎么去做网页,设计网页,因此,大家仅仅需要,大致的了解一些HTML系列的文本标记语言的基础即可,知道常用的几个标签,有什么用即可。
一、网页数据提取常见的HTML标签/元素
上面说了,标签是用来描述网页的。
浏览器读取HTML文档,识别标签,并按标签要求以网页进行显示文本。
大部分标签都是成队出现的。
起始标签和结束标签之间的所有文本,都叫做元素。
也就是这个格式就是:
<起始标签:
也叫元素名>元素的内容<结束标签:
/+元素名>
标签是可以拥有属性的,因此起始标签,有时候格式如下:
<元素名属性名称=”属性值”>
属性提供了元素的一些附加信息啦,后面我们讲具体标签,大家就会见到属性怎么用。
另外,注意,元素是可以拥有元素的,即某个元素的内容有时候是一个子元素。
元素这东西,比较抽象,我们可以把它且当作一个对象来理解,例如工作簿对象,每个工作簿的名称都不一样(属性),每个工作簿里面都有工作表(子元素),每个表都有名称(属性),里面填写的内容也不一样(元素的内容)。
下面讲讲常见的和我们网页数据提取要常见的元素/标签。
(一)整体框架结构:
每个网页文档,都是有个大致的框架,框架如下:
--注释:
文档头部,文档相关消息,并不提供文档内容-->
网页标题
--注释:
文档主体-->
网页文档主体
把上面这段文本保存在TXT文件里面,然后另存.html格式,就可以得到最基础的页面。
从上面的框架代码,我们可以看出,一般的页面,都有html元素,其一般内含两个元素,一个是head元素,一个是body元素。
Head元素仅仅说明文档的相关消息,并不展示文档实体,body元素才是真正展示文档主体的,所有要在页面展示的元素,都要在body內进行书写。
后面的元素的测试,都是以替换掉body元素内的文本“网页文档主体”进行书写,后续不再复述这个框架。
(二)段落
特别是提取小说,新闻等页面的消息,文本都是一段一段的,这样的页面,一般是通过
标签实现的。
这个没啥好说的,自己动手试看看就知道。
所以,当运用ie/webbrowser方式提取这类网页的时候,历遍段落p元素即可。
超链接是我们最常见的页面元素,基本的门户网站都有他,点了以后,可以跳转到另一个页面。
一般语法格式:
Target属性,表示的是,当我们点击超链接,是在原页面进行跳转(_self)还是新建页面进行跳转(_blank)。
测试做个ET的超链接吧。
(四)图像
图像标签用法和超链接类似,语法:
alt属性代表的是,当图片无法加载的时候,替换显示的文本。
我们做个加载ET的LOGO的页面玩玩。
()。
(五)表格
: --注释: border设置表格边框样式--> | ||
第二行第一个单元格 | 第二行第二个单元格 |
(六)列表
很多时候,数据也经常以列表形式存在的,列表有三种:
无序、有序和自定义。
分别框架如下:
1、无序列表
- 函数
- VBA
- 图书
- VBA
- 函数
- 视频
- 基操
- 图表
- 数透
- 第一节课
- 网络通讯
- 第二节课
- HTML
2、有序列表
3、自定义列表
(七)表单和表单控件
除了表格,表单也是我们在网页数据提取,页面操控最常见到的元素。
例如我们注册用户,例如我们的微博登陆,例如我们的XX搜索,其实都是表单。
我们先来看一个例子:
请在文本框输入要搜索的关键字,后按提交,将提交XX进行搜索
例如在文本框输入“苹果”后,按提交按钮:
这个表单模拟的是XX搜索,在文本框输入关键字后,按提交,将跳转至XX的搜索结果的界面。
呵呵,奇妙吧。
如何实现的呢?
细心的同学会发现吧,表单form这个元素,有“method”和“action”两个属性,action属性指定的就是,提交表单后,向这个属性指定URL发送http请求(呵呵,涉及到第一节课的知识啦),method这个属性设定的就是,要按照get或者post等方式发送http请求。
复习下第一节课吧,采用get的方式呢,参数将在URL后面加个?
号,然后发送,采用post的方式呢,将在消息主体里面投递查询参数。
那发送http请求的参数从哪里来的?
就是从表单元素内含的各种下属元素,提取其name属性的值,作为参数名,然后提取该元素的value属性作为参数值(value属性的值有时候是由我们输入的,例如本例,虽然我们指定了默认的value属性的值为exceltip,但是我们可以手动输入,把它修改成“苹果”)。
然后浏览器就用参数名=参数值和&进行连接(还是上节课的知识)串起来。
就如本例,提交后,观察URL为:
苹果,wb就是第一个input元素的属性值,苹果就是我们输入的,赋予第一个input元素的value属性的值。
下面,我们讲讲表单主要的内含子元素吧。
1、输入标签()
其语法是:
其类型由type属性定义,常见的有:
text(文本框)、Radio(单选按钮)、Checkboxes(复选框)、submit(提交按钮)、hidden(隐藏)、reset(重置)和password(密码框)等。
其中注意,其中单选框和复选框的是否选中,由checked属性指定,如果值是”checked”则选定。
不多说了,看例子吧。
(文本框和提交按钮就不做了,上面都举例了。
密码框同,类似的)
注意,当表单提交的时候,发送http请求时,单选框和复选框,仅发送checked属性为”checked”的元素。
一样是把标记了checked的元素的name属性值和value属性值串起来。
2、下拉列表
其语法:
如果存在multiple="multiple"的属性设定,则允许菜单多选,否则单选。
Size是设置可见的菜单条目数。
其下级元素,option代表的是其每个菜单项目,语法为:
一样,value属性接着的就是发往服务器的值,当提交的时候,就是将select的name属性值与用户选择的某项option元素的value属性值连接,进行发送。
Option元素的selected属性设置的是默认选中的菜单项。
示例如下:
单选选择列表
多重选择列表,按住shift或ctrl键进行多重选择
(八)框架标签和
1、frameset和frame
Frame是独立框架,就好像我们的分屏浏览一样,一个屏幕,浏览多个画面一样。
语法如下:
首先框架必须放置在框架结构标签里面(
2、iframe
Iframe的框架,就类似画中画的效果,在原页面插入一个页面。
语法如下:
Src设定框架内要显示的文档的url,scrolling设置是否显示滚动条。
Height和widty设置的就是它的高度和宽度。
案例如下:
第一个框架
第二个框架
//"> Html就大概讲这一些吧,呵呵,毕竟我们不是要做网页,大家大致了解下就是,还可以参考去学习。 一般能做到,看得懂网页的框架结构即可。 二、HTML文档对象模型(HTMLDOM) 认识了网页文档上面的各种元素,我们怎么访问他们呢,是通过什么机制实现的呢? HTML文档,向程序们,提供了访问其元素的端口,这就是HTMLDOM,其定义了一套标准的针对HTML文档的对象访问或操作的机制。 现在DOM有多个版本,本文还是以最基础的DOM1(98年颁布)这个版本。 1、VBA访问IE网页文档的程序模板 讲访问前,我们先简要讲讲,如何用VBA调用IE,直接给个模板吧,详细的IE对象的属性和方法等,我们后面的课会再讲: Subtest() Dimie,dmt Setie=CreateObject("InternetExplorer.Application")'创建一个IE对象 Withie .Visible=True'显示它 .navigate""'加载某个页面 DoUntil.ReadyState=4'等待页面加载完毕 DoEvents Loop Setdmt=.document'将IE浏览器加载的页面文档,赋予dmt变量 ‘开始操纵页面,或者提取数据啦 EndWith EndSub 通过上面这个模板,我们就可以创建一个IE对象,并将其页面文档对象赋予dmt变量,这样,我们通过dmt变量,就可对页面元素,进行后续的访问以及操作。 2、HTMLDOM对象 和我们EXCEL的对象集合的层次结构类似(WORKBOOKS-WORKSHEETS-CELLS等),HTMLDOM为网页文档也组织了一个对象集合的分层次模型。 另外,从上一节标签和元素的学习,大家也可以大致的得知,元素是可以拥有元素的,所以,这个分层的模型完全是合理的。 HTMLDOM的对象模型类似如下图: 但是,VBA直接支持调用的对象有限,如下: 对象 描述 Document 代表整个HTML文档,可被用来访问页面中的所有元素 Anchors 代表元素集合 Body 代表
Forms
代表