对于一个搜素引擎而言,首先的问题就是网络爬虫,因为只有设计出高效的下载系统,以将如此海量的网页数据传送到本地,在本地形成互联网网页的镜像备份。今天就分析一下这个架构。同样,看下边的图来分析。
处理过程如下:
(1)首先从互联网页面中精心选择一部分网页,以这些网页的链接地址作为种子URL,将这些种子URL放入待抓取URL队列中。
(2)爬虫从待取URL队列中依次读取待抓取URL。
(3)将URL通过DNS解析,把链接地址转换为网站服务器对应的IP地址。
(4)将其和网页相对路径名称交给网页下载器。
(5)网页下载器负责页面内容的下载。
(6)下载下来的网页分为两步操作,一方面将其存储到页面库中,等待建立索引等待后续处理。另外一方面将下载网页的URL放入已抓取URL对列中。
(7/8)通过查看已抓取URL队列就可以判断该URL是否已抓取过,如果没有抓取,就将其放入待抓取URL队列中。
如此就在2~8之间一直循环,直到URL队列为空。