【python网络爬虫一】爬虫工作原理

来源:互联网 发布:java.lang.nullpointer 编辑:程序博客网 时间:2024/04/28 07:02

1、爬虫的工作原理

网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网站的连接地址来寻找网页的。从网站某个页面(通常是首页)开始,读取网页的链接地址,然后通过这些链接地址寻找下一个网页,这样一直的循环下去,直到把这个网站所有的网页都抓取完为止。

2、浏览网页的过程

抓取网页的过程其实和读者平时使用的浏览器浏览网页道理是一样的。比如在浏览器的地址中输入www.baidu.com,打开网页的过程就是浏览器作为一个浏览器的“客户端”,客户端浏览器首先查询DNS服务器,查询IP地址(浏览器缓存->系统缓存->路由器缓存.....),向客户端发送了一个请求,把服务器端的文件“抓”到本地,在进行解释、展示。

3、了解uri

简单来说,url就是在浏览器端输入的http://www.baidu.com这个字符串。在了解url之前要先了解uri的概念.

WEB上每种可用的资源,如HTML文档、图像、视频、程序等都由一个通用资源标识符(uri)进行定位。

uri通常由三部分组成:

  • 访问资源的命名机制
  • 存放资源的主机名
  • 资源本身的名称,由路径表示。
如uri : http://www.why.com.cn/html/html1/
1、这是可以通过http协议访问的资源
        2、位于主机www.why.com.cn上
        3、通过路径“/html/html”访问
4、了解url
url是uri的一个子集。为“统一资源定位符”。通俗的说,url是internet上描述信息资源的字符串,主要用在各种www客户程序和服务器程序上。采用url可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。url的一般格式为:
    protocol :// hostname[:port] / path / [;parameters][?query]#fragment
url的格式由三部分组成:
    1、第一部分是协议
    2、第二部分是存有该资源的主机ip地址(有时包括端口号)
    3、第三部分是主机资源的具体地址,如目录和文件名等
第一部分和第二部分用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
5、uri和url的比较
uri属于url更低层次的抽象,一种字符串文本标准。换句话说URI属于父类,而url属于uri的子类。url是uri的一个子集。二者的区别在于,uri表示请求服务器的路径,定义这么一个资源。而url同时说明要如何访问这个资源(http://)。

     爬虫最主要的处理对象就是url,根据url地址取得所需要的文件内容,对它进行进一步的处理。