VBA的WEB应用系列教程——HTML文档篇
上节课,我们说了HTTP通讯,HTTP通讯一般情况返回的是啥呢?是页面的源代码。例如,我们访问百度,返回了,“…”一大堆东西。就是,我们在页面点击右键,“查看页面源文件”,如图:
我们的浏览器,正是把这堆源代码,翻译成我们可视的生动地页面的。就像VBA一样,这堆代码是什么语言呢,就是通常所说的,超文本标记语言。
为啥叫标记语言,因为它只能用于展示,展示我们所看到的网页页面。不是编程语言哦。
为啥叫超文本呢,大家仔细看,这堆源代码有什么特征呢,就是有很多这样的文本,一般而言,我们把叫做标签,细心的同学可以发现,标签都是成对出现的,例如“
百度一下,你就知道 ”。第一个叫做开始标签,第二个多带了个/叫结束标签。标签之间就是网页的文本,例如这个例子,就是我们网页标题的文本“百度一下,你就知道”。所以,标签的作用就是,给文本打上标记,告诉浏览器,怎么显示这个文本。例如本例,要求浏览器把“百度一下,你就知道”显示成网页的标题。HTML文档=文本+标签,所以就超文本啦。
总之,HTML就是用来描述网页的语言,像上面所说的
这样的标签,是有一整套的,呵呵。
我们的教程,并不是为了教大家,怎么去做网页,设计网页,因此,大家仅仅需要,大致的了解一些HTML系列的文本标记语言的基础即可,知道常用的几个标签,有什么用即可。
一、网页数据提取常见的HTML标签/元素
上面说了,标签是用来描述网页的。浏览器读取HTML文档,识别标签,并按标签要求以网页进行显示文本。大部分标签都是成队出现的。
起始标签和结束标签之间的所有文本,都叫做元素。也就是这个格式就是:
标签是可以拥有属性的,因此起始标签,有时候格式如下:
属性提供了元素的一些附加信息啦,后面我们讲具体标签,大家就会见到属性怎么用。
另外,注意,元素是可以拥有元素的,即某个元素的内容有时候是一个子元素。
元素这东西,比较抽象,我们可以把它且当作一个对象来理解,例如工作簿对象,每个工作簿的名称都不一样(属性),每个工作簿里面都有工作表(子元素),每个表都有名称(属性),里面填写的内容也不一样(元素的内容)。
下面讲讲常见的和我们网页数据提取要常见的元素/标签。
每个网页文档,都是有个大致的框架,框架如下:
把上面这段文本保存在TXT文件里面,然后另存.html格式,就可以得到最基础的页面。
从上面的框架代码,我们可以看出,一般的页面,都有html元素,其一般内含两个元素,一个是head元素,一个是body元素。Head元素仅仅说明文档的相关消息,并不展示文档实体,body元素才是真正展示文档主体的,所有要在页面展示的元素,都要在body內进行书写。
后面的元素的测试,都是以替换掉body元素内的文本“网页文档主体”进行书写,后续不再复述这个框架。
特别是提取小说,新闻等页面的消息,文本都是一段一段的,这样的页面,一般是通过
标签实现的。这个没啥好说的,自己动手试看看就知道。
所以,当运用ie/webbrowser方式提取这类网页的时候,历遍段落p元素即可。
超链接是我们最常见的页面元素,基本的门户网站都有他,点了以后,可以跳转到另一个页面。一般语法格式:
Target属性,表示的是,当我们点击超链接,是在原页面进行跳转(_self)还是新建页面进行跳转(_blank)。
测试做个ET的超链接吧。
图像标签用法和超链接类似,语法:
alt属性代表的是,当图片无法加载的时候,替换显示的文本。
表格是我们网页最常见的,也是我们网页数据提取,最需要打交道的,其实它非常简单,框架如下,每行用
很多时候,数据也经常以列表形式存在的,列表有三种:无序、有序和自定义。分别框架如下:
除了表格,表单也是我们在网页数据提取,页