爬虫基础(二)——网页

  爬虫要爬取的信息主要来自于网页加载的内容,有必要了解一些网页的知识。

  当我们在浏览器网址栏输入一个网址——URL,经过TCP/IP协议簇的处理,这个网址请求的信息就被发送到URL对应的服务器,接着服务器处理这个请求,并将请求的内容返回给浏览器,浏览器便显示或者下载URL请求相应的资源。这是前一篇博客所述。

  在这一篇博客,笔者尝试说明浏览器是如何显示出这个页面的。如下

HTML HTML的含义

  与超文本相对的是线性文本。线性,即直线关系,成比例。一本书,从第一页到最后一页,呈现直线关系;一本书的书签,从第一章转跳至第十章,呈现的是非线性关系。对于线性的计算机文件,不能直接从从一个位置的文件非线性地转至另一个位置的文件,这中间是要经过一定的顺序;相反,超文本之间的关系是非线性的,从一个HTML文件可以直接连接至另一个HTML文件。促成这种连接的正是是超文本链接,超文本链接就是超链接,上一篇的URL就是超链接的一种,电子书中的书签也是超链接的一种。

  HTML是一门语言,常用于编写网页,HTML文件是超文本的一种形式。以下是一些名称的解释,以辅助理解,不必太在意于严格的定义。

HTML(HyperText Mark-up Language):超文本标记语言

超文本:HyperText,用超链接的方法,将不同空间的文字信息组织在一起的网状文本

链接:link,从一个文档指向其它文档或从文本锚点(anchor)指向某已命名位置的链接

锚点:anchor,是网页制作中超级链接的一种,又叫命名锚记。命名锚记像一个迅速定位器一样是一种页面内的超级链接

超链接:hyperlink,它是一种允许我们同其他网页或站点之间进行连接的页面元素

超文本链接:Hypertext link,就是超链接。是指用文字链接的形式来指向一个页面

线性:linear,指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数

树 树的概念

  树的结构是很简单的,平时留心观察即可知道树为何是“直”的。从第一个分叉开始这树就是由无数的“开叉”结构组成,直至最微小的枝芽。怎么简单怎么来,数学上的描述不管。下面的性质和定义来自《用Python解决数据结构和算法》

树的性质

  相关术语在“定义1”里面有解释,以分类树为例 此处有图片

树是分层的,分层的意思是树的顶层部分更加宽泛一般而底层部分更加精细具体。在图1中,最上层是“界”,它下面的一层(上层的子层)是“门”,然后是“纲”等等。

一个节点的子节点(node)和另一个节点的子节点(children)是完全独立的。如图1,“猫属”有两个子节点“家生”和“野生”,“蝇属”中也有一个“家生”, 但它和“猫属”中的“家生”是完全不同而且相互独立的。

树的每个叶节点(leaf)都是不同的。如图1,对每一种动物,我们都可以从根节点(root)开始沿着一条特定的路径找到它对应的叶节点,并把它和其他动物区分开, 例如对于家猫

树下层的所有部分(子树Subtree)移动到树的另一位置而不影响更下层的情况。如图2,我们可以将所有标注/etc的子树从根节点下移动到usr/下面但是对httpd的内容及其子节点的内容不会有影响。

爬虫基础(二)——网页

图1 一些动物的分类树

爬虫基础(二)——网页

图2 一小部分Unix文件系统的分层情况

定义1

  树是节点和连接节点的边的集合

  这个定义简单粗暴,但蕴含的东西不少。以下是一些相关的东西,都是些抽象的概念,将其类比成枝节叶可以吧

节点(Node):树的基本组成

边(Edge):树的基本组成,连接两个节点。。每个节点(除了根节点)都有且只有一条与其他节点相连的入边(指向该节点的边),每个节点可能有许多条出边(从该节点指向其他节点的边)。

根节点(Root):树中唯一没有入边的节点

路径(Path):路径是由边连接起来的节点的有序排列

子节点集(Childern):当一个节点的入边来自于另外一个节点时,称前者为后者的子节点。同一个节点的所有子节点构成子节点集

父节点(Parent):一个节点是它的所有出边连接的节点的父节点。

兄弟节点(Sibling)同一节点的所有子节点胡伟兄弟节点

子树(Subtree):子树是一个父节点的某个子节点的所有边和后代节点所构成的集合

叶节点(LeafNode):没有子节点的节点称为叶节点

层数(Level):一个节点的层数是指从跟节点到该节点的路径的边的数目,定义根节点层数为0

高度(Height):树的高度等于所有节点层数的最大值

定义2

  每棵树为空,或者包含一个根节点和0个或多个子树,其中每个子树也符合这样的定义

  这个定义巧妙,用到递归只能“巧妙”了。

HTML的构成

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfffw.html