一直对爬虫感兴趣,因为觉得爬虫很炫酷。 所以这篇文章可以被看做是爬虫学习笔记的序。这篇文章我们重点介绍和解释爬虫的一些重要概念,这将有助于帮助我们理解爬虫。
爬虫是什么?
网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。其目的一般为编纂网络索引。----《维基百科》
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本----《百度百科》
我们注意到上面的两个定义都提到了万维网?
那么请问万维网又是什么?
万维网简介
万维网的前身:
万维网是欧洲粒子物理实验室的Tim Berners-Lee最初于1989年3月提出的。1993年2月,第一个图形界面的浏览器开发成功,名字叫做Mosaic。
万维网WWW(World Wide Web)并非某种特殊的计算机网络。万维网是一个分布式的超媒体系统,它是超文本的系统的扩充.
超文本(英语:Hypertext)是一种可以显示在计算机显示器或其他电子设备的文本,其中的文字包含有可以链接到其他字段或者文档的超链接,允许从当前阅读位置直接切换到超链接所指向的文字[1]。超文本文档通过超链接相互链接,超链接通常
通过鼠标点击、按键设置或触摸屏来点阅。
超媒体和超文本的区别是文档内容不同,超文本仅仅包含文本信息,而超媒体则可以包含图片等非文本信息。
以上大多都是从我大学的教科书《计算机网络》谢希仁著第七版中摘出来的。老实说我很不喜欢他介绍万维网的方式,我自己上大学看这一段的时候就在云里雾里。但是这本书介绍计算机网络的其他概念,我觉得还可以,所以大学毕业的时候这本书就保留了下来。
接下来,我打算以我自己的方式来介绍万维网。
注意万维网上是欧洲粒子物理实验室的科研人员所提出的,我猜想这些科学家需要对一些问题进行交流,但又相隔甚远,为了更好的交流,所以发明了万维网.
也许有的人会说,那不会发邮件啊! 那我建议你去了解一下SMTP协议。
科学家们在阐释问题的时候,可能会放入图片,音频等。
让我们来随便的预设一个场景:
杰西博士写一篇名为《关于四元数的若干猜想以及证明》包含了图片、数学公式。想让山姆博士、格尔肖博士等人来看一下。
杰西想通过计算机和互联网来帮自己做这件事情,Tim Berners-Lee想那不如我们就设计一种网络吧。
在决定采用浏览器来解析文章的这样一个预设之前,
那么我们来想一下如果让这些科学家通过计算机来相互阅读彼此之间的文章,那这个网络必须解决的问题应该有哪些?
(1) 怎样标识分布在整个互联网上的万维网文档?
(2) 用怎样的协议来实现万维网上的各种链接(链接的功能就是实现: 从一个站点调到另一个站点,从一个文档跳到另一个文档)?
(3) 应该采用怎样的协议或者规定来保证不同格式的万维网文章,在不同的计算机上的浏览器上的显示效果是一样的?
(4) 怎样使得用户方便而快捷的找到所需的信息?
对于第一个问题,万维网使用统一资源定位符(URL: Uniform Resource Locator)来标识万维网上的各种文档,并使每一个文档正在整个互联网的范围内的URL都是唯一的。
为了解决第二个问题,就要使万维网客户程序与万维网服务器程序之间交互遵守严格的协议,这就是超文本传输协议(也就是HTTP协议,HTTP: HyperText Transfer Protocol)
为了解决第三个问题, 万维网采用超文本标记语言(HTML HyperText Markup Language)。
URL的格式
为了行文简单,下文对于统一资源定位符,采用URL的简称。
URL是用来表示从互联网上得到的资源位置和访问这些资源的方法。URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,就能对资源进行增删改查。
URL相当于一个文件名在网络范围的苦熬站。由于访问不同的对象所使用的协议不同,所以URL还指出读取某个资源所用协议
URL一般形式由以下四个部分组成:
<协议>://<主机>:<端口>/路径
现在有些浏览器为了方便用户,在输入URL时.在输入URL时,可以把最前面的"http://"甚至把主机名最前面的"www"省略,然后浏览器替用户把省略的字符填上。
对于万维网的网点的访问要使用的HTTP协议。HTTP的URL的一般形式是
http://<;主机>:<端口>/路径
HTTP协议简介
关于HTTP协议以后会有专门写一篇文章来介绍,这里只大概的介绍一下:
HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTML简介
要使任何一台计算机上的浏览器对于同一份万维网文档的显示是一样的,就必须解决页面制作的标准化问题。HTML是一种制作万维网页面的标准语言,它消除了不同的计算机之间的信息交流的障碍。
第四个问题的解决方案是搜索引擎。
那么爬虫是什么呢? 我认为就是获取万维网上各种类型文档中所需信息的一种方式吧。
本文的信息大多都是来自谢希仁版《计算机网络》第七版,加上了自己的理解而完成。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。