1.什么是爬虫
爬虫,即网络爬虫,大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到资源,那么它就会抓取下来。想抓取什么,就靠你自己去控制它。
比如它在抓取一个网页,在这个网中它发现了一条道路,其实就是指向网页的超链接,那么它就可以爬虫另一张网上来获取数据。这样,整个连在一起的大网对这只蜘蛛来说触手可及,爬下来都不是什么难事。
2.浏览网页的过程
在用户浏览网页的过程中,我们可能会看到许多好多的照片,比如 http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器HTML、JS、CSS等文件,浏览器解析出来,用户就可以看到形形色色的图片了。
因此,用户看到的网页实质是由HTML代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些HTML代码,实现对图片、文字等资源的获取。
3.URI和URL的概念和举例
简单的来讲,URL就是在浏览器端输入的 http://www.baidu.com 这个字符串。
在了解URL之前,首先要理解URL的概念。Web上每种可用的资源,如HTML文档、图像、视频片段、程序等都由一个通用资源标识符(Universal Resource Identifier,URL)进行定位。
URI通常由三部分组成
①访问资源的命名机制;
②存放资源的 主机名;
③资源自身的名称,由路径表示。
如下面的URI:
http://www.why.com.cn/myhtml/html1223/、
我们可以这样解释它:
①这是一个可以通过HTTP协议访问的资源;
②位于主机www.why.com.cn上;
③通过路径“/myhtml/html1223” 访问
4.URL的理解和举例
URL是URI的一个子集。它是Uniform Resource Locator的缩写,中文译为“统一资源定位符”。通俗地说,URL是Internet上描述信息资源的字符串,主要用于各种WWW客户程序和服务器程序上。采用URL可以用一种统一的格式描述各种信息资源,包括文件、服务器的地址和目录等。
URL的一般格式为(带方括号[]的为可选项):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
URL的格式由三部分组成
①第一部分是协议(或称为服务方式);
②第二部分是存有该资源的主机IP地址(有时也包括端口号);
③第三部分是主机资源的具体地址,如目录和文件名等。
第一部分和第二部分用 “://” 符号隔开,
第二部分和第三部分用 “/” 符号隔开
第一部分和第二部分是不可缺少的,第三部分有时可以省略
5.URL和URI的简单比较
URI属于URL更低层次的抽象,一种字符串文本标准。换句话说,URI属于父类,而URL属于URI的子类。
URI的定义:Universal Resource Identifier,统一资源标识符;
URL的定义:Uniform Resource Locator,统一资源定位符。
两者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时要说明如何访问这个资源(http://)
下面来看看两个URL的小例子
(1)HTTP协议的URL示例
例:http://www.peopledaily.com.cn/channel/welcome.htm
①使用超文本传输协议HTTP,提供超文本信息服务的资源
②其计算机域名为www.peopledaily.com.cn
③超文本文件(文件类型为.htm)是在目录channel下的welcome.htm
(2)文件的URL示例
用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但 “/” 符号不能省略
例:file://ftp.yoyodyne.com/pub/files/foobar.txt
①这是一个文件file
②存放在主机ftp.yoyodyne.com上的pub/files/目录下的一个文件,文件名是foobar.txt
例:file://ftp.yoyodyne.com/pub
代表主机ftp.yoyodyne.com上的目录/pub。
例:file://ftp.yoyodyne.com/
代表主机ftp.yoyodyne.com的根目录。
爬虫最主要的处理对象就是URL,它根据URL地址取得所需要的文件内容,然后对它 进行进一步的处理。
因此,准确地理解URL对理解网络爬虫至关重要。