通用搜索引擎的处理对象是互联网网页,所以搜索引擎首先面临的问题是:如何能够设计出高效的下载系统,将海量的网页数据传到本地,在本地形成互联网网页的备份。
网络爬虫即起此作用,它是搜索引擎系统中很关键的基础构件。下面是一个通用的爬虫框架:
爬虫工作基本流程:
1、首先在互联网中选出一部分网页,以这些网页的链接地址作为种子URL
2、将这些种子URL放入待抓取的URL队列中,爬虫从待抓取的URL队列依次读取
3、将URL通过DNS解析
4、把链接地址转换为网站服务器对应的IP地址
5、网页下载器通过网站服务器对网页进行下载
6、下载的网页为网页文档形式
7、对网页文档中的URL进行抽取
8、过滤掉已经抓取的URL
9、对未进行抓取的URL继续循环抓取,直至待抓取URL队列为空。
其中,下载的网页文档一部分存储到页面库中,等待建立索引等后续处理,另一方面将网页中的URL存入已抓取URL库中,提供给步骤8进行过滤。
这便是一个基本的通用网络爬虫框架及其工作流程。
知识来源:《这就是搜索引擎—核心技术详解》第二章 网络爬虫